繁体   English   中英

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

[英]Python Project - ImportError: No module named XXX?

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

我对这两个模块做了完全相同的操作 ,但是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
>>> 

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

在此处输入图片说明

哪里出问题了?

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

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

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

它的注释多于答案,但注释无法格式化。 我认为,您的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__']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM