[英]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.