【发布时间】:2019-06-07 03:13:15
【问题描述】:
我的文件结构如下:
└── project
├── __init__.py
├── main.py
└── package1
├── __init__.py
├── module1
└── subpackage
├── __init__.py
└── module2.py
module2 包含一个名为 A 的函数,模块 1 使用代码导入 module2:
from subpackage import module2
直接运行 module1 时可以正常工作,但是当我尝试从 main.py 导入 module1 时,出现错误。 main.py中import语句的代码是
from package1 import module1
这给出了错误
Traceback (most recent call last):
File "C:\...\project\main.py", line 1, in <module>
from package1 import module1
File "C:\...\project\package1\module1.py", line 1, in <module>
from subpackage import module2
ModuleNotFoundError: No module named 'subpackage'
我不太明白这里发生了什么,我尝试使用 os.chdir() 将当前工作目录更改为 module1 中的 package2,但这没有效果。在研究了这个问题后,我发现唯一可能与我的问题相关的是绝对导入与相对导入,但更改导入语句并没有影响错误。
【问题讨论】:
-
您的文件结构中没有
package1。 -
谢谢,打错字了,我在实际项目中有一个package1
标签: python python-3.x package python-import