Python项目-导入错误:没有名为XXX的模块?
我正在构建一个python项目,目前我有两个模块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
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我的观点完全正确