ImportError: No module named
本问题已经有最佳答案,请猛点这里访问。
我有一个项目的文件夹结构如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | project: folder1: __init__.py file11.py folder2: __init__.py file21.py folder3: __init__.py file31.py __init__.py file1.py file2.py .. |
从项目的根目录,我可以导入同一路径上的文件
例子,
在file1.py中,
在21.py文件中,
执行此操作时会触发我的问题:
例子,
在21.py文件中,
这将引发类似importError的错误:没有名为folder3的模块
我的所有init文件都是空的,让python相信它们是包。我不明白为什么会这样。我想知道一个解决方案,以及一些关于它如何工作的小见解。
你应该写
1 | from folder3.file31 import xyz |
模块file31.py位于package project.folder3内,而不是仅位于project内,也不是与模块file21.py相同的包。尝试在file21.py中使用:
1 | from folder3.file31 import xyz |
而不是
1 | from file31 import xyz |