我遇到与此处描述类似的问题如何修复 Python 中的“ImportError:没有名为 ... 的模块”错误?但我无法通过设置 PYTHONPATH 的建议来修复它。
我的目录如下所示:
- project
- python
- src
- ml
- __init__.py
- classifier_dnn.py
- util.py
- vectorizer
- fv_davison.py
- __init__.py
我正在跑步分类器_dnn.py at the project文件夹路径:
~project&PYTHONPATH=/home/project/
~project$python3 /home/project/python/src/ml/classifier_dnn.py /home/project/data/labeled_data_all.csv /home/project/output
但当出现错误时会产生分类器_dn进口ml.util:
Traceback (most recent call last):
File "/home/project/chase/python/src/ml/classifier_dnn.py", line 5, in <module>
from ml import util
ImportError: No module named 'ml'
我也尝试过设置PYTHONPATH=/home/项目/python or PYTHONPATH=/home/project/src但同样的错误发生了。
当我在 PyCharm 中测试它时,如果设置它就可以工作蟒蛇/源代码成为源根,无论什么工作目录是。但是当我从命令行运行它时,我无法弄清楚如何正确设置它。
请提供任何帮助
Thanks
I have 一篇文章对此,但我会内联复制相关文本。
你有两个问题:
- 你需要export
PYTHONPATH
(export PYTHONPATH=/full/path/to/src
)
- 你应该运行
python -m module.path
代替python path/to/file.py
核心问题是python path/to/file.py
puts path/to
在开始的时候PYTHONPATH
(sys.path
)
这会导致导入从(在您的情况下)开始src/ml
而不是预期的src
.
通过使用-m
,您可以避免这条路径的修改,它会正确地保留src
作为你的开始sys.path
.
当我在 PyCharm 中测试它时,如果将 python/src 设置为源根目录,无论工作目录是什么,它都会起作用。但是当我从命令行运行它时,我无法弄清楚如何正确设置它。
你可以通过以下方式做到这一点cd
正在进入src
目录
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)