pycharm导入不同目录.py文件后,ctrl可以进入文件,但使用terminal运行时报module not found解决方法
最近在使用bert进行相关学习中需要用到terminal传参运行程序,发现导入的不同目录下的.py文件会报module not found。尝试了网上所说的多种方法,发现依旧无效,这里记录一下可以解决问题的方法。
1.确认要导入的.py文件的父目录是否有__init__.py
这是由于python规定如果目录结构中有__init__.py文件,则该目录可视为一个python包。
init.py可以为空。但必须有!
2.将父目录设为sources_root
顾名思义,该操作是为了将该目录设置为根,方便引用。上述操作后,父目录变蓝,表示设置成功。
3.将setting中python console 中的两个 add path勾选上。
4.设置系统变量。
4.1 创建系统变量
之前我们设置系统变量的时候一般都是PYTHON_PATH,这里的系统变量名字一定要是PYTHONPATH,笔者尝试过多次,只有后者解决问题。原因的话不是太清楚,不过笔者猜测有可能是因为步骤3中 勾选的两个选项中是没有下划线的吧,所以pycharm去系统变量里找的也是按照没下划线来的吧。
另外要注意,系统变量的值一定要到该目录。
4.2 path中 添加该系统变量
%PYTHON_PATH%即可。
5.重启编译器。
通过多次尝试,不重启编译器也不行。
笔者通过上述方法解决了问题,欢迎大家讨论。
其实我感觉只需要第四步和第五步也可以解决问题,大家可以试试。