在heroku上部署flask应用程序很麻烦
我在heroku上部署flask应用程序时遇到问题, 我的目录树如下所示:在heroku上部署flask应用程序很麻烦,flask,heroku,deployment,gunicorn,Flask,Heroku,Deployment,Gunicorn,我在heroku上部署flask应用程序时遇到问题, 我的目录树如下所示: ├── app │ ├── errors.py │ ├── forms.py │ ├── __init__.py │ ├── __init__.pyc │ ├── models.py │ ├── __pycache__ │ ├── routes.py │ ├── static │ ├── storage.db │ └── templates ├── migrations ├── P
├── app
│ ├── errors.py
│ ├── forms.py
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── models.py
│ ├── __pycache__
│ ├── routes.py
│ ├── static
│ ├── storage.db
│ └── templates
├── migrations
├── Procfile
├── README.md
├── requirements.txt
├── run.py
└── runtime.txt
我对Procfile的配置很困惑,我应该调用run.py(我使用“flask run”在本地调用的存档)还是app(init.py调用flask实例和sql\u alchemy实例的文件夹)
无论如何,两种配置都返回以下错误:
$heroku日志--尾部
heroku[web.1]: State changed from crashed to starting
heroku[web.1]: Starting process with command `gunicorn: app:app`
app[web.1]: bash: gunicorn:: command not found
heroku[web.1]: Process exited with status 127
heroku[web.1]: State changed from starting to crashed
gunicorn已按要求配置。py假设您的
运行。py
是您的应用程序的入口点,并且您已将您的flask实例命名为app
,则您的程序文件应如下所示:
web: gunicorn run:app
这是因为在Procfile中,第一个参数必须是运行网站的主文件或入口文件的名称,第二个参数是flask实例本身的名称。至少gunicorn和heroku的情况是这样。假设你的
run.py
是你的应用程序的入口点,并且你已经将你的flask实例命名为app
,你的程序文件应该看起来像web:gunicorn run:app
谢谢@Aditya它成功了!你为什么不在下面回答,而只是发表评论?然后我会把它标记为最佳答案,它应该会帮助其他人:)不客气:)。老实说,我不知道为什么我没有写下来作为答案
web: gunicorn run:app