[英]Uploading a Django project on Heroku Server
我将我的 Django 项目上传到 Heroku,我在浏览器上收到此错误消息,如屏幕截图所示
但是当我检查管理员的日志时,我看到下面这条消息:
2019-05-14T21:26:26.138333+00:00 app[web.1]: bash: gunicorn: command not found
但是gunicorn
包含在我的requirements.txt
文件中:
dj-database-url==0.5.0
Django==2.2.1
django-heroku==0.3.1
gunicorn==19.9.0
psycopg2==2.8.2
pytz==2019.1
sqlparse==0.3.0
whitenoise==4.1.2
我还有一个Pipfile
和Pipfile.lock
。
为什么 Heroku 找不到gunicorn
?
一般来说,您应该使用requirements.txt
或Pipfile
和Pipfile.lock
。 他们做大致相同的事情,但使用不同的工具。
Pipfile
和Pipfile.lock
是较新的标准。 如果它们存在,Heroku 会使用Pipenv安装依赖项。 在这种情况下, requirements.txt
文件将被忽略。
你应该
选择使用 Pipenv。
Pipfile
和Pipfile.lock
中,但为了确定起见,请在本地运行pipenv install -r requirements.txt
。git rm requirements.txt
requirements.txt
git commit -m 'Switch from pip to Pipenv'
。 选择使用pip
。
阅读你的Pipfile
看看里面是否有你可能需要的东西。 该文件不仅仅列出依赖项。
例如,您的Pipfile
可能会在[requires]
部分指定所需的 Python 版本,如python_version = '3.7'
。 这不能在requirements.txt
中表示,因此您需要创建一个runtime.txt
文件来指定您的 Python 版本。
您可能还想为开发依赖项创建第二个需求文件。
使用git rm Pipfile Pipfile.lock
删除Pipfile
和Pipfile.lock
。
提交,例如git commit -m 'Revert from Pipenv to pip
。
推送到 Heroku。
我将我的 Django 项目上传到 Heroku,我在浏览器上收到此错误消息,如屏幕截图所示
但是当我检查管理员的日志时,我看到以下消息:
2019-05-14T21:26:26.138333+00:00 app[web.1]: bash: gunicorn: 命令未找到
但是gunicorn
包含在我的requirements.txt
文件中:
dj-database-url==0.5.0
Django==2.2.1
django-heroku==0.3.1
gunicorn==19.9.0
psycopg2==2.8.2
pytz==2019.1
sqlparse==0.3.0
whitenoise==4.1.2
我也有一个Pipfile
和Pipfile.lock
。
为什么 Heroku 找不到gunicorn
?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.