gpt4 book ai didi

python - 从 __init__.py 导入方法

转载 作者:太空狗 更新时间:2023-10-30 02:56:09 24 4
gpt4 key购买 nike

在 python 中导入模块时遇到一些问题。这是我的文件夹结构

my_app/
app.py
__init__.py (I want to import a function from this file)
folder1/
__init.py
method1.py
folder2/
__init__.py
method.py

在我的根 __init__.py 我有这个功能

def want_to_be_run_elsewhere():
pass

在我的 app.py 中,我想导入这个函数并在我启动我的应用程序时运行它,但我不确定该怎么做。

from my_app import want_to_be_run_elsewhere

这会抛出一个名为 my_app 的 no 模块

据我所知,我拥有所有必需的 __init__.py 文件,所以它可能与 sys.path 相关吗?

我在这里阅读了一些类似的主题,但我无法解决这个问题。

最佳答案

通常你会像这样导入

from . import want_to_be_run_elsewhere

这在这里不起作用,因为您正在调用 app.py。如果您导入 my_app.app,它就是模块的一部分。如果你调用它,它就不是。从使用 . 的模块导入将不起作用。

您可以将 app.py 移到 my_app 之外,将其从模块中移除并再次导入。

或者你可以使用

from __init__ import want_to_be_run_elsewhere

app.py

我相信

from my_app import want_to_be_run_elsewhere

只有当您实际安装了 pip install -e my_app/ 时才会起作用。那么它也应该起作用。

关于python - 从 __init__.py 导入方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40327801/

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