我创建了一个包,为了便于使用我称之为 packageA。
在这个包中,我有 4 个子模块(单独的文件)和一个 init 文件,所以包包含以下文件:
__init__.py
- 模块A.py
- 模块B.py
- 模块C.py
- 模块D.py
BD 模块是独立的,它们不导入任何其他本地模块。模块 A 导入模块 BD。
现在我有一个要导入的脚本,packageA
init.py 到目前为止是空的。
import packageA
工作没有问题。但是 moduleA 在此导入中不可用。如果我想通过 packageA.moduleA 使用它,则会引发此错误:
AttributeError: 'module' object has no attribute
以下也可以正常工作:
from packageA import moduleB
from packageA import moduleC
from packageA import moduleD
下一次导入会导致 ImportError:
from packageA import moduleA
引发此错误:
Traceback (most recent call last):
File "run.py", line 19, in <module>
from packageA import moduleA
ImportError: cannot import name moduleA
我想也许我在 moduleA 中做错了什么,但即使 moduleA 为空,导入也会引发同样的错误。似乎无法以某种方式导入此模块。这怎么可能?
我对所有 python 模块都有单独的单元测试文件,是的,moduleA 工作正常,没有任何错误。