我有一个脚本,当我从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元素时显示所有文件夹。当从命令行运行时,即使我从main.py
所在的thr director运行它,它也不会显示它们中的任何一个。
即使我从该目录运行该文件,是否必须将目录添加到PYTHONPATH
?似乎过度杀死了每个项目的目录。有没有更好的方法来做到这一点,还是标准程序?
答案 0 :(得分:0)
我认为需要更多信息来提出解决方案建议,但这是我要检查的内容:
__init__.py
个文件-I
参数调用python解释器?这将从您的脚本中删除位置上下文,因此不扫描本地目录中的模块或包,所以如果您这样做,请尝试在没有它的情况下运行。答案 1 :(得分:0)
digitake建议使用相对路径
import .util as u