我在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 的模块”的错误。
根据我的观察,我已经有了所有必要的__init__.py
文件,所以可能与sys.path有关?
我已经阅读了一些类似的主题,但我还没有解决这个问题。
app.py
和__init__.py
是否在my_app/
文件夹内? - John Zwinck__init__.py
文件中定义函数。它们通常是空的,或者只有一个__all__
列表。 - PM 2Ring__init__
,但如果那是唯一的方法,我想我会用另一种方式实现它。谢谢! - Cheese Puffspython my_app/app.py
命令吗?那么不要这样做! 要么编写一个外部脚本,这样你就可以将app.py
放在my_app
文件夹外面,或者使用-m
开关:python -m my_app.app
。 - Bakuriu