【发布时间】:2019-08-27 07:34:00
【问题描述】:
当我使用flask-cli 运行我的应用程序时,应用程序正常启动。
我设置了 HOST 和 PORT 环境变量并像这样运行它:
flask run --host ${HOST} --port ${PORT} --no-reload --no-debugger
问题:
当我像python3.6 main.py 一样运行它时,我得到了一些导入错误(我没有使用 flask-cli):
Traceback (most recent call last):
File "main.py", line 21, in <module>:
from runn.models import User, Town
File "/home/dinko/my-app/runn/models.py", line 9, in <module>
from main import db
File "/home/dinko/my-app/runn/main.py", line 21, in <module>
from runn.models import User, Town
ImportError: cannot import name `User`
我知道这可能是由于 circular 导入,但我不确定使用 flask-cli 是如何工作的。是否有任何解决方案可以像使用 flask-cli 一样运行它,但使用 python3.6 main.py 代替?
【问题讨论】:
-
你
main.py的内容是什么? -
flask 加载你的应用程序的方式很复杂,但在这里似乎是独立的:github.com/pallets/flask/blob/master/src/flask/cli.py
-
我使用
python -m flask main.py成功运行了它。我将在下面的答案中添加。 Cli.py 对我来说太复杂了,目前无法实现。