gpt4 book ai didi

python - 导入我自己的包时无法访问模块

转载 作者:太空宇宙 更新时间:2023-11-04 05:12:36 26 4
gpt4 key购买 nike

我得到了一个目录结构,这是一个简化的例子:

project_root/
__init__.py
test.py
mypack/
__init__.py
mymodule.py

test.py 包含这个:

from . import mypack

mypack.mymodule.some_function()

mypack 的 __init__.py 包含以下内容:

from . import *
__all__ = ['mypack']

执行此操作时,Python 告诉我“mypack”没有“mymodule”。
我只能做 from mypack import mymodule
这在 Python 2.7 和 Python 3.5 中都会发生。

我怎样才能让它发挥作用?它似乎只能在我安装我的包时完成,而不是项目目录。

最佳答案

对于你想要工作的选项,你必须在 mypack.__init__.py 文件中实际导入函数:

#In mypack/__init__.py
import mymodule

虽然它可以工作,但它不是最 pythonic 的方式,我推荐(而且我仍然确信它可以更好):

# In your test.py file
import mypack.mymodule

mypack.mymodule.some_function() # Should work now

这样你就知道你的文件来自哪里,而不必修改你的 __init__.py 文件来让它工作

关于python - 导入我自己的包时无法访问模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42631464/

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