繁体   English   中英

python3显式相对导入错误

[英]python3 explicit relative importing error

我正在着手打包我的 python 代码。 我的包结构是:

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

在我的 module2 中,如果我使用绝对导入,例如:

from mypackage.subpackage import module1

这会起作用。

但是,如果我使用显式导入,例如:

from . import module1

这给了我

导入错误:尝试在没有已知父包的情况下进行相对导入


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

相对导入仅适用于包内部。 如果您将mypackage作为实际可执行代码(纯库)的要求并使用显式相对导入,那就没问题了。 但是,如果您尝试直接运行module2 ,您的代码会显示

找到__main__所在的包,找到它的父级,找到名为module1 ITS子级

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM