import 导包的机制
- 关于
sys.path
:- python 所有的包都会从
sys.path
中获取,并按顺序读取包依赖 - 会默认把当前运行的 py 文件的父路径写入到 sys.path 中
- 自己写的的包,目录必须也要在 sys.path 中,才可以正常进行包导入
- 查看
sys.path
的内容import sys print(sys.path)
- python 所有的包都会从
- 一般情况下,包导入的优先级是:当前目录
.py
文件 > 当前目录有__init__.py
文件的目录 > 标准库 > 第三方库
pycharm 和 vscode 中的导包情况
- 在 pycharm 中,对某个文件夹:
右键 -> 将目标标记为 -> 源代码根目录
即等同于把该文件夹加入到sys.path
中 - 在 vscode 中没有类似的操作,但可以通过修改环境变量
PYTHONPATH
来增加路径# 执行 export PYTHONPATH="/home/yzz/xxx/xxx:$PYTHONPATH" # 或者在工作目录下创建 .env 文件,写入环境变量键值,python 插件会默认该文件作为环境变量 PYTHONPATH="/home/yzz/xxx/xxx:$PYTHONPATH"
其他规范
- 个人项目中的包模块最好不要和 Python 内置包、第三方包重名
- 尽量少的使用相对路径导包