问题来源:
用惯了Pycharm的人,在其他IDE中运行比较复杂的python项目,特别是有许多自己写的类,模块导入往往会出现问题:
比如,在项目Project中,有A,B两个文件夹,a.py和b.py分别是它们的子文件,若b.py需要导入a.py中的某个模块m:
from A.a import m
直接运行b.py,报错
原因在于,系统不知道工程的根目录所在,而且我们不可能每次都使用cd跳转到a.py文件所在的文件夹
解决方案:添加当前工作目录到默认模块搜索路径
在site-packaegs添加一个路径文件,如mypkpath.pth,必须以.pth为后缀,写上你要加入的模块文件所在的目录名称,然后保存退出就好了
site-packaegs目录一般在python安装目录的Lib目录下
如:
虚拟环境:D:\Envs\patent\Lib\site-packages
python安装目录:D:\software\python\Lib\site-packages
# 输入当前工作目录, 保存退出
C:\Users\xxx\Desktop\project
重新进入python编译器,查看当前搜索路径,发现多了C:\Users\xxx\Desktop\project
workon # 虚拟环境
python3 # 进入python编辑器
# 查看当前搜索路径
improt sys
sys.path