【问题标题】:When I tried to deploy to Heroku my Django project it is not detecting the buildpack. Could anyone help me please?当我尝试将我的 Django 项目部署到 Heroku 时,它没有检测到 buildpack。有人可以帮我吗?
【发布时间】:2021-02-08 09:33:59
【问题描述】:

我已经尝试了文档中的所有方法,但仍然遇到同样的问题。

【问题讨论】:

  • 您在每个devcenter.heroku.com/articles/… 的回购根目录中是否有setup.pyrequirements.txt
  • 是的,我用 pip freeze > requirements.txt 创建了它
  • 我们在截图中看到的(请不要发布文本内容的截图)不在repo的root

标签: python django heroku


【解决方案1】:

No default language could be detected for this app.

您需要指定一个构建包。它无法选择默认语言,因为您要么缺少文件(例如requirements.txt您有太多像AptfileGemfilepackage,json 等。
因此,如果您有requirements.txtpackage.json,它不知道您的项目是使用python 还是node,甚至两者都使用。

这里我使用了多个构建包:https://i.imgur.com/LNHZAKe.png

通过CLIdashboard 添加构建包。

【讨论】:

    【解决方案2】:

    您是否对 settings.py 、创建的 Procfile 以及 requirements.txt 中的所有要求包进行了必要的更改

    pip freeze > requirements.txt
    

    如果不是,请检查此链接 heroku django configure

    请通过复制代码而不是截图来分享您的 settings.py 文件 我可以看到它说没有检测到默认语言确保您的 settings.py 语言代码中有默认语言

    【讨论】:

    • 是的,我已经完成了所有配置,但我部署的仍然是相同的东西,但它向我显示一个应用程序错误,状态为 503
    • 分享你的 settings.py
    【解决方案3】:
    1. 您需要在项目的根目录下添加Procfile,内容如

      web: gunicorn yourproject.wsgi --log-file--
      
    2. 您还需要指定要使用的运行时 python 版本。

      您可以通过创建 runtime.txt 在您的项目的根目录中包含内容 python-3.7.9

    3. 如果您之前没有创建过,我们需要创建一个requirements.txt 文件来告诉 Heroku 需要在我们的服务器上安装哪些 Python 包。

    【讨论】:

    • 在部署到heroku之前我已经创建了它,我需要再做一次吗?
    • 它是你项目的根目录吗? @Agabyok?
    • 我不知道,但正如你所说,我已经创建了 runtime.txt,但现在它从运行时发现错误并说“推送被拒绝,无法编译 Python 应用程序。”
    • 是的,我已经导航并开始部署,但现在运行“$ python manage.py collectstatic --noinput”时显示错误。远程:有关详细信息,请参阅上面的回溯。远程:远程:您可能需要更新应用程序代码来解决此错误。远程:或者,您可以为此应用程序禁用 collectstatic:远程:远程:$ heroku config:set DISABLE_COLLECTSTATIC=1
    • 确保它是python和版本之间的-
    猜你喜欢
    • 1970-01-01
    • 2016-06-18
    • 2015-01-28
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    • 2013-03-25
    • 2019-09-10
    • 1970-01-01
    相关资源
    最近更新 更多