首先我们先了解下python中寻找模块的顺序
是否是内建模块 -》主目录 -》PYTHONPATH环境变量 -》标准库 -》
- 首先判断这个model是否是built-in,即内建模块,如果是则直接引用,如果不是则去sys.path的list中寻找
- sys.path在python脚本执行时动态生成,包括一下三部分
a.脚本的执行位置,即当前的路径下(sys.path中的形态:"")
b.环境变量中的其他路径
c.安装python时的依赖路径
当import 一个模块时,会依次的在以上路径顺序中查找,找到了就不再往后找了,找不到就导入异常,只搜索指定目录,不递归搜索。
这里还有个问题没弄明白,就是不同目录,不同级别的导入,写项目的时候导入一个模块,到整体运行的时候模块怎么导入。