设python中有模块m_ImportError:在Python中没有名为…的模块错误-设置PYTHONPATH仍然无法正常工作...

我的目录如下:

- project

- python

- src

- ml

- __init__.py

- classifier_dnn.py

- util.py

- vectorizer

- fv_davison.py

- __init__.py

我正在项目文件夹路径中运行classifier_dnn.py:

~project&PYTHONPATH=/home/project/

~project$python3 /home/project/python/src/ml/classifier_dnn.py /home/project/data/labeled_data_all.csv /home/project/output

但是当classifier_dn导入ml.util时会生成错误:

Traceback (most recent call last):

File "/home/project/chase/python/src/ml/classifier_dnn.py", line 5, in

from ml import util

ImportError: No module named 'ml'

我也尝试设置PYTHONPATH = / home / project / python或PYTHONPATH = / home / project / src,但是发生相同的错误.

当我在PyCharm中对此进行测试时,如果将python / src设置为源根目录,则不管工作目录是什么,它都可以工作.但是当我从命令行运行它时,我不知道如何正确设置它.

任何帮助请

谢谢

解决方法:

我对此有a writeup,但是我将内联复制相关文本.

您有两个问题:

>您需要导出PYTHONPATH(导出PYTHONPATH = / full / path / to / src)

>您应该使用python -m module.path而不是python path / to / file.py来运行

核心问题是python path / to / file.py将path / to放在PYTHONPATH(sys.path)的开头

这将导致导入从(根据您的情况)src / ml开始,而不是预期的src.

通过使用-m,可以避免使用此路径,它将src正确地保留为sys.path的开头.

When I test this in PyCharm, it works if set python/src to become source root, regardless what working directory is. But I cannot figure out how to set this properly when I run this from command line.

您可以通过进入src目录来执行此操作

标签:python

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值