我有,当我从pycharm运行它,它运行良好,但在命令行中执行时会抱怨无法导入其他文件在同一目录
import util as u
ModuleNotFoundError: No module named 'util'
我的脚本其次是这里的建议: Script running in PyCharm but not from the command line
解释器是一样的,工作目录是一样的,但sys路径是不同的。
该模块的文件夹看起来像这样
mymodule
sub_1
util.py
sub_2
...
main.py
pycharm显示所有文件夹打印sys.path的元素时。当从命令行运行时,它不会显示其中任何一个,即使当我从thr Director中运行它时,其中main.py
是。 即使我从该目录运行文件,是否必须将目录添加到PYTHONPATH
?看起来像矫枉过正,每个项目的目录都添加了。有没有更好的方法来做到这一点,或者是标准程序?
尝试在'sub_1' – digitake
使'__init __。py'有了子包,你的目录中就包含了一堆小岛。如果'mymodule'是一个包,那么包含它的目录应该在'sys.path'上,它下面的每个目录都应该有一个'__init __。py',并且你不应该尝试在它内部调用一个脚本。 lounch脚本应该与顶级目录处于同一级别,基本上只需导入入口点并调用它。 – RaminNietzsche
看来你没有一个包相对'进口.util作为u' – mata