繁体   English   中英

在 Heroku 服务器上上传 Django 项目

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

我还有一个PipfilePipfile.lock

为什么 Heroku 找不到gunicorn

一般来说,您应该使用requirements.txtPipfilePipfile.lock 他们做大致相同的事情,但使用不同的工具。

PipfilePipfile.lock是较新的标准。 如果它们存在,Heroku 会使用Pipenv安装依赖项。 在这种情况下, requirements.txt文件将被忽略。

你应该

  1. 选择使用 Pipenv。

    1. 您的要求可能已经列在PipfilePipfile.lock中,但为了确定起见,请在本地运行pipenv install -r requirements.txt
    2. 使用git rm requirements.txt requirements.txt
    3. 提交此更改,例如git commit -m 'Switch from pip to Pipenv'
    4. 推送到 Heroku。
  2. 选择使用pip

    1. 阅读你的Pipfile看看里面是否有你可能需要的东西。 该文件不仅仅列出依赖项。

      例如,您的Pipfile可能会在[requires]部分指定所需的 Python 版本,如python_version = '3.7' 这不能在requirements.txt中表示,因此您需要创建一个runtime.txt文件来指定您的 Python 版本。

      您可能还想为开发依赖项创建第二个需求文件。

    2. 使用git rm Pipfile Pipfile.lock删除PipfilePipfile.lock

    3. 提交,例如git commit -m 'Revert from Pipenv to pip

    4. 推送到 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

我也有一个PipfilePipfile.lock

为什么 Heroku 找不到gunicorn

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM