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 123from 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:没有名为[重复]的模块的主要内容,如果未能解决你的问题,请参考以下文章

ImportError:没有名为[重复]的模块

kivy:ImportError:没有名为app的模块[重复]

ImportError:没有名为“urllib2”Python 3的模块[重复]

ImportError:没有名为 bs4 的模块 [重复]

python3:ImportError:没有名为xxxx的模块[重复]

ImportError:执行Python脚本时没有名为cv2的模块[重复]