加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python“ImportError:没有名为…的模块”,但模块存在

发布时间:2020-12-20 13:07:21 所属栏目:Python 来源:网络整理
导读:我的文件目录树如下所示: my_repo├── experiments│?? ├── foo.py│?? └── __init__.py└── tests ├── baz.py └── __init__.py 在baz.py里面,我试试 from experiments.foo import FooExperiment 但我明白了 *** ImportError: No module na
我的文件目录树如下所示:

my_repo
├── experiments
│?? ├── foo.py
│?? └── __init__.py
└── tests
    ├── baz.py
    └── __init__.py

在baz.py里面,我试试

from experiments.foo import FooExperiment

但我明白了

*** ImportError: No module named experiments.foo

当我从终端(Mac OSX 10.9)打开python并运行时

from experiments.foo import FooExperiment

该类是正确导入的.到底是怎么回事?请帮忙.

在这两种情况下,sys.path完全相同,除非我在baz.py中包含当前路径(到baz.py).是/ path / to / my_repo也在我的sys.path中.

编辑:我的问题是有冲突的鸡蛋文件,所以重新安装做了伎俩(下面).接受@Austin Marshall的回答,因为它是解决这个问题的一般情况的可行解决方案.

pip uninstall my_repo
python setup.py develop --user

解决方法

实验不在PYTHONPATH中,也不是使用标准的setuptools技术安装.我能够复制你的问题,这可以通过将my_repo放在PYTHONPATH中来解决:

Austins-MacBook-Pro-2:my_repo amarshall$tree .
.
├── experiments
│?? ├── __init__.py
│?? └── foo.py
└── tests
    ├── __init__.py
    └── baz.py

2 directories,4 files
Austins-MacBook-Pro-2:my_repo amarshall$PATH=$PATH:`pwd`/experiments python tests/baz.py 
Traceback (most recent call last):
  File "tests/baz.py",line 1,in <module>
    from experiments.foo import FooExperiment
ImportError: No module named experiments.foo
Austins-MacBook-Pro-2:my_repo amarshall$PYTHONPATH=$PYTHONPATH:`pwd` python tests/baz.py

指定PYTHONPATH时最后一行没有输出或错误,而不是PATH

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读