Python将一个目录识别为模块而不是另一个目录?

时间:2016-08-11 15:13:14

标签: python python-2.7 python-import

我的项目如下:

W:\a\lot\of\stuff\Automation
|__ __init__.py
|__ A
|   |_ __init__.py
|   |_ aLotOfFiles.py
|
|__ B
|   |_ __init__.py
|   |_ aLotOfFiles.py
|
|__ C
    |_ __init__.py
    |_ myFile.py

我正在myFile.py工作。在其中我使用了模块AB中的许多文件。在使用Pycharm时,一切都运行得非常好

from A.someFile import someClass
from B.otherFile import otherClass

但是当我完成我的代码并开始从其他地方运行它时,我开始让导入错误感到困惑我在交互式python中尝试了以下内容:

>import sys
>sys.path.append('W:\\a\\lot\\of\\stuff\\')
>import Automation
# No import errors so far
>import Automation.A
# Still working fine..
>import Automation.B
Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
ImportError: No module named B #Yeah, that's the module name..

现在我很难过。两个模块如何在Pycharm中工作,看起来完全相同,但是一个导入得很好而另一个不是在相同的情况下?

关于如何解决它/可能导致它/检查什么的任何想法?

1 个答案:

答案 0 :(得分:0)

发现问题。

显然在路径层次结构的其他地方有一个相同工作空间的旧版本,当我使用同时存在的模块时,它也有效,但是当我使用新模块时却没有...