【问题标题】:First push django in heroku首先在heroku中推送django
【发布时间】:2013-09-02 15:06:15
【问题描述】:

我正在尝试在 heroku 中推送我的 django 应用程序,并且我已按照 heroku 页面教程中的所有说明进行操作,但是当我尝试推送时,我得到了这个:

christian@christian-R480-R431-R481:~/Documentos/heroku/Portafolio6$ sudo git push heroku master
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (5/5), 542 bytes, done.
Total 5 (delta 0), reused 0 (delta 0)


 !     Push rejected, no Cedar-supported app detected

To git@heroku.com:mysterious-thicket-1865.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:mysterious-thicket-1865.git'
christian@christian-R480-R431-R481:~/Documentos/heroku/Portafolio6$ 

我不知道为什么会这样。我是否必须在 django 项目中或当我有 virtualenv 文件夹时进行推送?

【问题讨论】:

标签: django heroku push


【解决方案1】:

您有有效的 requirements.txt 文件吗? Heroku 需要此文件来 pip 安装您的应用使用的相关 python 包。

要自动生成此文件,只需运行以下代码:

pip freeze > requirements.txt

requirements.txt 文件应位于最顶层,与应用相邻。

http://www.deploydjango.com/django_project_structure/ 的“第 3 步 - Heroku 最佳实践”部分将为您提供更多信息。

【讨论】:

    【解决方案2】:

    检查您的目录中是否有 requirements.txt、Procfile 和 runtime.txt 文件。

    要生成 requirements.txt,请激活您的 virtualenv 并冻结已安装的包:

    workon my_project
    pip freeze > requirements.txt
    

    您的 Procfile 负责告诉 heroku 系统如何运行您的应用程序(很可能是本例中缺少的内容)。这是一个示例:

    web: gunicorn my_project.wsgi -b 0.0.0.0:$PORT
    

    您的 runtime.txt 文件负责确定要运行的 python 版本:

    python-2.7.4
    

    确保所有三个文件都存在(从技术上讲,runtime.txt 是可选的,但这是个好主意),都已提交,然后再次尝试推送。

    【讨论】:

      猜你喜欢
      • 2016-12-03
      • 1970-01-01
      • 2013-01-12
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      • 2019-12-26
      • 2014-01-10
      • 2013-01-09
      相关资源
      最近更新 更多