我有这样一棵树:
package/
subpackage1/
__init__.py
impl/
__init__.py
moduleA.py
moduleA_test.py
subpackage2/
__init__.py
impl/
__init__.py
moduleB.py
在moduleA.py
中,我有以下代码:
模块moduleA_test.py
只导入moduleA
并测试其功能。
在终端中,如果我在文件夹package
,然后运行python
,然后运行from subpackage1.impl import moduleA
,它工作正常。在
但是如果我运行python submodule1/impl/moduleA_test.py
(仍然在package
文件夹中),代码会在我上面写的导入行中引发一个错误。我得到ImportError: No module named subpackage2.impl.moduleB
。在
我也试过使用python -m submodule1.impl.moduleA_test.py
但没有成功。在
当您编写
from subpackage2.impl.moduleB import func_abc
时,它会搜索与代码所在目录相同的subpackage2文件夹,即。包.子包1.impl。在所以当你写import语句时它会搜索包.子包1.实施子包2.执行模块B它不存在,因此会产生错误。在
相关问题 更多 >
编程相关推荐