1

我正在尝试在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 文件夹时?

4

2 回答 2

0

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

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

pip freeze > requirements.txt

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

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

于 2013-08-30T02:11:59.920 回答
0

检查您的目录中是否有 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 是可选的,但这是一个好主意),已提交,然后再次尝试推送。

于 2013-08-30T03:06:46.340 回答