gpt4 book ai didi

python - Python 中的包导入问题

转载 作者:太空狗 更新时间:2023-10-30 01:03:42 26 4
gpt4 key购买 nike

我的结构是这样的:

companynamespace/
__init__.py
projectpackage/
__init__.py
somemodule.py

companynamespace/__init__.py 为空

projectpackage/__init__.py 有这一行:

import companynamespace.projectpackage.somemodule as module_shortname

当我打开 python 控制台并键入 import companynamespace.projectpackage(为此正确设置了 PYTHONPATH)时,我得到了 AttributeError: 'module' object has no attribute 'projectpackage'import companynamespace.projectpackage.somemodule as module_shortname 行。如果我删除 as module_shortname 部分(并在文件的其余部分进行所有必要的替换),所有内容都会正确导入。

谁能告诉我这是为什么?我的 Google-Fu 失败了。

最佳答案

projectpackage/__init__.py中不需要绝对导入,做相对的

import somemodule as module_shortname

您这样做的方式(使用绝对导入)会导致循环导入,这在 Python 中效果不佳。当您导入模块时,您还调用了父模块的 __init__.py。在您的情况下,通过绝对导入,您还在 projectpackage/__init__.py 中调用了 projectpackage/__init__.py

关于python - Python 中的包导入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5796625/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com