首页 > 解决方案 > heroku错误bash:gunicorn:找不到命令

问题描述

几个月前我将我的 Flask 应用程序推送到 Heroku https://shakespeare-tweet.herokuapp.com/(现场)这是本地主机的屏幕截图:https ://berkeley.app.box.com/file/303628505050 但是我试图更新它,它一直在打破:

这是stackoverflow解决方案:Heroku + gunicorn not working (bash: gunicorn: command not found )

但是当我将它更新到新版本时,它给了我错误 Heroku + gunicorn not working (bash: gunicorn: command not found )

web: gunicorn myapp:app --log-file=- 但是应用程序在部署时崩溃:

bash: gunicorn: command not found 我尝试添加 heroku python buildpack,但没有运气。如果我回滚到之前的提交(其中 requirements.txt 和 Procile 都没有改变)。

我仍然得到相同的错误日志:

2018-07-10T21:52:11.855058+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=shakespeare-tweet-pr-16.herokuapp.com request_id=068bae51-052e-4bf4-9b25-336c9a036709 fwd="165.124.160.252" dyno= connect= service= status=503 bytes= protocol=https
2018-07-10T21:52:31.144603+00:00 heroku[web.1]: State changed from crashed to starting
2018-07-10T21:52:34.984576+00:00 heroku[web.1]: Starting process with command `gunicorn app:app`
2018-07-10T21:52:36.771041+00:00 heroku[web.1]: Process exited with status 127
2018-07-10T21:52:36.714985+00:00 app[web.1]: bash: gunicorn: command not found
2018-07-10T21:52:36.787124+00:00 heroku[web.1]: State changed from starting to crashed
2018-07-10T21:52:36.789041+00:00 heroku[web.1]: State changed from crashed to starting
2018-07-10T21:52:40.971471+00:00 heroku[web.1]: Starting process with command `gunicorn app:app`
2018-07-10T21:52:42.677787+00:00 heroku[web.1]: Process exited with status 127
2018-07-10T21:52:42.692987+00:00 heroku[web.1]: State changed from starting to crashed
2018-07-10T21:52:42.618587+00:00 app[web.1]: bash: gunicorn: command not found
Disconnected from log stream. There may be events happening that you do not see here! Attempting to reconnect...
Connection to log stream failed. Please try again later.

I would appreciate any help with this issue.

标签: heroku

解决方案


好的,这里的问题是 Shakespeare-tweet-pr-16 应用程序是使用 pipenv 构建的,因此它将从 Pipfile 中获取依赖项,而不是从 requirements.txt 中获取。Pipfile 仅将烧瓶列为依赖项,因此尚未安装 Gunicorn,这就是找不到它的原因。我建议您从您的应用程序中删除 Pipfile。另一种选择是使用您的完整依赖项列表更新 Pipfile。


推荐阅读