我有一个具有以下层次结构的软件包:
- main package
-utils package
- this package's __init __.py (empty)
- some other modules
- app.py
- __ init __.py (empty)
app.py从utils中的模块调用函数为:
from main.utils.module import function_name
现在,当我在IDE中运行此命令时,一切正常。如果该信息有帮助,请使用PyCharm。
当我使用python3 app.py
在终端中运行app.py时,它将引发ModuleNotFound错误:No module named main.
但是,当我在终端中执行简单的flask run
时,这似乎工作正常。
我还有一个目标:我需要将此应用泊坞窗。在CMD字段或ENTRYPOINT中指定什么? Docker的新手。
答案 0 :(得分:0)
好的,这是一个非常愚蠢的错误。
只需将from main.utils.module import function
更改为from utils.main.module
即可。
我认为这是因为整个目录不在app.py的范围内吗?如果有人可以更好地解释此行为,请发布答案。