【问题标题】:Uploading a Django project on Heroku Server在 Heroku 服务器上上传 Django 项目
【发布时间】:2019-10-02 06:43:09
【问题描述】:

我将我的 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

【问题讨论】:

    标签: python django heroku hosting uploading


    【解决方案1】:

    一般来说,您应该使用 either requirements.txt PipfilePipfile.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 中表示,因此您需要在 create a runtime.txt file 中指定您的 Python 版本。

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

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

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

      4. 推送到 Heroku。

    【讨论】:

      猜你喜欢
      • 2012-09-27
      • 1970-01-01
      • 2015-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      • 1970-01-01
      相关资源
      最近更新 更多