Python项目import管理
介绍了Python模块导入的查找顺序和项目中import的最佳实践
import导入顺序
讲到import管理首先需要连接import查询的路径及其顺序,当执行 import module
或 from package import module
时,Python 会按以下顺序查找模块:
1.检查sys.modules,先检查模块是否已经被导入,如果已经被导入就会忽略。
2.检查内置模块(Built-in Moudules)
3.sys.path
列表包含的路径,按照以下顺序进行查找
- 当前脚本所在目录
- 环境变量
PYTHONPATH
中的路径 - Python标准库目录
- Python第三方库目录
项目import管理
import有绝对导入和相对导入两种写法,优先推荐使用绝对导入
1 | from mypackage.module_a import func |
这种写法清晰明了,跨目录导入不会出错,对重构和测试非常优化。
还有一种相对导入的方法,不推荐使用
1 | from .module_b import func # 当前包 |
它的缺点是依赖运行上下文,不可以在其他目录中直接运行。
Python项目import管理