ImportError:没有名为[重复]的模块
Posted
技术标签:
【中文标题】ImportError:没有名为[重复]的模块【英文标题】:ImportError: No module named [duplicate] 【发布时间】:2017-01-07 16:36:48 【问题描述】:我有一个项目,其文件夹结构如下:
project:
folder1:
__init__.py
file11.py
folder2:
__init__.py
file21.py
folder3:
__init__.py
file31.py
__init__.py
file1.py
file2.py
..
从项目的根目录,我可以导入相同路径上的文件
例子,
在 file1.py 中,from file2 import 123
和 from folder3.file31 import 456
有效
在 file21.py 中,import file1
有效
当我这样做时触发了我的问题:
例子,
在 file21.py 中,from folder3.file31 import xyz
这会引发类似 ImportError: No module named folder3 之类的错误
我所有的 __init__.py 文件都是空的,让 python 认为它们是包。我不明白为什么会这样。我想知道一个解决方案,以及一些关于它如何工作的小见解。
【问题讨论】:
你用的是什么版本的python? 我使用的是python v2.7 我确定我尝试了该帖子中的一些解决方案,但没有成功。 如果你尝试 from ..folder3.file31 import xyz 会发生什么 你的项目根目录添加到 python 路径了吗? 【参考方案1】:模块 file31.py 位于 project.folder3 包内,而不仅仅是 project 内,也不与模块 file21 相同的包内.py。尝试在 file21.py 中使用:
from folder3.file31 import xyz
代替
from file31 import xyz
【讨论】:
【参考方案2】:你应该写
from folder3.file31 import xyz
【讨论】:
以上是关于ImportError:没有名为[重复]的模块的主要内容,如果未能解决你的问题,请参考以下文章
kivy:ImportError:没有名为app的模块[重复]
ImportError:没有名为“urllib2”Python 3的模块[重复]