【问题标题】:Gunicorn : Failed to find application object 'App' in 'run'Gunicorn:在“运行”中找不到应用程序对象“App”
【发布时间】:2019-11-02 07:53:15
【问题描述】:

尝试在 Gunicorn 中运行烧瓶应用程序,但出现以下错误

在“运行”中找不到应用程序对象“App”

run.py

import app as flask_app
import os

if __name__ == "__main__":
    App = flask_app.factory.create_app(celery=flask_app.celery)
    App.run(debug=True, host='0.0.0.0')

使用 gunicorn 运行应用程序的命令

gunicorn --bind 0.0.0.0:5100 run:App

谁能告诉我可能的原因和解决方案?如果我遗漏了任何内容,过分强调或过分强调某一点,请在 cmets 中告诉我。

我也提到了Error: gunicorn: Failed to find application object 'app' in 'app',但无法获得答案中提到的更改文件名的可能解决方案

【问题讨论】:

    标签: python python-3.x flask gunicorn


    【解决方案1】:

    App 需要在顶级范围内:

    import app as flask_app
    import os
    
    App = flask_app.factory.create_app(celery=flask_app.celery)
    
    
    if __name__ == "__main__":
        App.run(debug=True, host='0.0.0.0')
    

    【讨论】:

    • 你拯救了我的一天。我能知道为什么会这样或任何相同的参考吗
    • 因为你的条件语句有很大的不同。如果你像这样运行 gunicorn gunicorn --bind 0.0.0.0:5100 run:App 它会从运行中寻找 App 但如果你放了 name == 'main',该条件将失败,gunicorn 将给出错误。
    • 'name' 在像 python run.py 一样运行 'run.py' 时将是 'main' 在其他情况下会有所不同
    猜你喜欢
    • 2019-08-06
    • 2018-10-13
    • 1970-01-01
    • 2019-05-21
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    相关资源
    最近更新 更多