【问题标题】:Why running flask application using python instead of Flask-CLI produces ImportError?为什么使用 python 而不是 Flask-CLI 运行烧瓶应用程序会产生 ImportError?
【发布时间】:2019-08-27 07:34:00
【问题描述】:

当我使用flask-cli 运行我的应用程序时,应用程序正常启动。

我设置了 HOSTPORT 环境变量并像这样运行它:

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 对我来说太复杂了,目前无法实现。

标签: python flask flask-cli


【解决方案1】:

我设法找到了一种使用 python -m flask run 运行我的烧瓶应用程序的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-13
    • 2018-01-16
    • 2016-04-19
    • 2016-07-12
    • 1970-01-01
    相关资源
    最近更新 更多