python3显式相对导入错误



我正准备打包我的python代码。我的包结构是:

mypackage/
__init__.py
/subpackage
__init__.py
module1.py
module2.py

在我的模块2中,如果我使用绝对导入,如:

from mypackage.subpackage import module1

这会奏效的。

然而,如果我使用显式导入,如:

from . import module1

这给了我

ImportError:尝试相对导入,但没有已知的父包


我在谷歌上搜索了一下,发现隐式相对导入不好。但我的导入是明确的,它给了我这样一个错误消息。有人能帮我理解为什么吗?感谢

相对导入只能在包内部工作。如果您将mypackage作为实际可执行代码(纯库(的需求,并使用显式的相对导入,那么就可以了。但是,如果您尝试直接运行module2,您的代码会显示

查找__main__所在的包,查找其父包,并查找名为module1的its子包

这显然是无稽之谈,因为__main__没有父级(根据定义(

相关内容

  • 没有找到相关文章

最新更新