【发布时间】:2020-09-09 09:16:11
【问题描述】:
尝试遵循在 Heroku 中运行的 Flask 应用程序的最佳实践,因此我将事情从 app.py 转移到使用蓝图。
当前目录结构如下:
--root
--application
--admin_blueprint
--another_blueprint
--wsgi.py (app = create_app())
--__init__.py (this has def create_app, which handles creating my app)
--migration
--Procfile
--requirements.txt
--runtime.txt
--config.py
--manage.py
这是 init.py
from flask import Flask
...
def create_app():
app = Flask(...)
...
return app
这是 wsgi.py
from application import create_app
app = create_app()
if __name__ == '__main__':
app.run(host='0.0.0.0')
我一生都无法弄清楚如何正确地执行 Procfile,这是我之前在我的根目录中有 app.py 和 wsgi.py 并且它在 Heroku 上运行良好时所拥有的:
web: gunicorn app:wsgi
我已经尝试了其中的一些:
web: gunicorn application:wsgi
web: gunicorn application.wsgi
web: gunicorn --pythonpath application application:wsgi
web: gunicorn application.wsgi.py
web: gunicorn "application.wsgi.py"
web: gunicorn "application/wsgi.py"
flask run 有效,因为我已经导出了FLASK_APP=application.wsgi.py
谢谢。
【问题讨论】:
-
你能试试
web: gunicorn application.wsgi --log-file -吗?
标签: python flask heroku procfile