Python项目-导入错误:没有名为XXX的模块?

Python项目-导入错误:没有名为XXX的模块?,python,Python,我正在构建一个python项目,目前我有两个模块dr和mg 我对这两个模块做了完全相同的,但是dr可以导入main.py,而mg不能 >>> from mg import visualization as vl Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named mg >>> from

我正在构建一个python项目,目前我有两个模块
dr
mg

我对这两个模块做了完全相同的,但是
dr
可以导入
main.py
,而
mg
不能

>>> 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
>>> 
mg导入可视化为vl的
>>
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ImportError:没有名为mg的模块
>>>从dr导入模拟为sm
>>> 
已将
mg
文件夹添加到
PYTHONPATH
中,如文件夹名称上的绿色加号所示


哪里出了问题?

它需要更多的评论然后再回答,但是评论不能格式化。我想,你的
mg/\uuu init\uuuu.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__']
我已将
dr
mg
文件夹添加到
PYTHONPATH

等等!你不应该这样做。由于
mg
dr
是包,您应该将它们的父文件夹添加到
PYTHONPATH
,即示例中的
traclus
文件夹

当python查找包
a
时,它将在
PYTHONPATH
中的所有目录中查找一个名为
a
的目录,该目录包含一个
\uuuu init\uuuuuuuu.py
文件。
如果您将
a
目录添加到
PYTHONPATH
,解释器将看到
\uuu init\uuuuuuuuuuuuuuuuuupy
,但它不会知道它是包的一部分。

mg/\uuuuu init\uuuuuuuuuuuuuuuuuupy.py中有什么内容?我可能错了,但是你不需要把mg.visualization作为vl导入吗?试着把mg.visualization从mg中删除。不,导入mg.visualization作为vl可以工作。请参见
dr
import@J0HN我的观点完全正确