AWS Elastic Beanstalk - Flask 部署

Pit*_*rak 2 python cloud deployment flask amazon-elastic-beanstalk

我尝试在 AWS EB 中设置 Flask 应用程序,并在日志上运行此问题。

Failed to find attribute 'application' in 'app'.

我的应用程序正在使用应用程序工厂,因此 init 是在函数中设置的。

def create_app(config_name):
    app = Flask(__name__)
    from .api.routes import api

    app.register_blueprint(api, url_prefix="/api/v1")

    from .main import main

    app.register_blueprint(main)
    app.run()
    return app
Run Code Online (Sandbox Code Playgroud)

我已更改 WSGIPath 以匹配我的应用程序名称和对象:

aws:elasticbeanstalk:container:python:
    NumProcesses: '1'
    NumThreads: '15'
    WSGIPath: app
Run Code Online (Sandbox Code Playgroud)

我的应用程序结构如下所示:

 __init__.py(empty)
 app.py
 main.py
 requirements.txt
 api/
     __init___.py (empty)
     routes.py 
Run Code Online (Sandbox Code Playgroud)

我缺少什么?我感觉自己如此亲近,同时又如此遥远。

感谢您的帮助。

Tru*_*ego 5

Elastic beanstalk 希望您的 app.py 命名为 application.py。另外,更改 app = Flask(__name__)application = app = Flask(__name__)