Python项目 - ImportError:没有名为XXX的模块?

时间:2013-10-03 09:36:02

标签: python

我正在构建一个python项目,目前我有2个模块drmg

我已经对这两个模块做了完全相同的事情,但dr可以导入main.py,而mg则无法导入。{/ p>

>>> from mg import visualization as vl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named mg
>>> from dr import simulation as sm
>>> 

已将 drmg个文件夹添加到PYTHONPATH,如文件夹名称上的小绿色加号所示。

enter image description here

哪里出错?

2 个答案:

答案 0 :(得分:2)

  

我已将drmg个文件夹添加到PYTHONPATH

等待!你应该这样做。由于mgdr是包,因此您应将文件夹添加到PYTHONPATH,即示例中的traclus文件夹。

当python查找包a时,它将查看PYTHONPATH中包含a文件的名为__init__.py的目录中的所有目录。 如果您将a目录添加到PYTHONPATH,解释程序将会看到__init__.py,但它不知道它是程序包的一部分。

答案 1 :(得分:0)

它更多评论然后回答,但评论不能格式化。我想,mg/__init__.py中存在问题。下面我尝试模拟你的问题。一切正常:

$ tree -sv
.
├── [       4096]  dr
│   ├── [          0]  __init__.py
│   └── [         25]  simulation.py
├── [         97]  main.py
└── [       4096]  mg
    ├── [          0]  __init__.py
    └── [         28]  visualization.py

2 directories, 5 files    
$ cat mg/visualization.py
print "visualization module"
$ cat dr/simulation.py
print "simulation module"
$ cat main.py
from mg import visualization as vl
from dr import simulation as sm

print dir(vl)
print dir(sm)
$ python main.py 
visualization module
simulation module
['__builtins__', '__doc__', '__file__', '__name__', '__package__']
['__builtins__', '__doc__', '__file__', '__name__', '__package__']