ImportError:没有名为的模块

时间:2016-08-31 07:46:34

标签: python importerror

我有一个项目,其文件夹结构如下:

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这样的错误:没有名为folder3的模块

所有 __ init __。py 文件都是空的,让python相信它们是包。我不明白为什么会这样。我想知道一个解决方案,以及它如何运作的一些小见解。

2 个答案:

答案 0 :(得分:1)

模块 file31.py 位于包 project.folder3 内,不在项目内,也不在与 file21相同的包中的.py 即可。尝试在 file21.py

中使用
/var/html/www/test/cache/aa/xx/xx/01.php
/var/html/www/test/cache/aa/xx/xx/02.php
/var/html/www/test/cache/aa/xx/xx/03.php
....

而不是

from folder3.file31 import xyz

答案 1 :(得分:1)

你应该写

from folder3.file31 import xyz