git push heroku master: Heroku push rejetée, aucune application supportée par Cedar n'a été détectée
j'ai essayé de courir:
$ git push heroku master
-----
Total 7121 (delta 2300), reused 6879 (delta 2228)
! Heroku push rejected, no Cedar-supported app detected
To git@heroku.com:fierce-atoll-4127.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:fierce-atoll-4127.git'
les seules réponses possibles que j'ai trouvées suggèrent que si vous avez un underscore dans votre nom d'application, cela pourrait causer ce problème. J'ai eu un "-" et je l'ai enlevé, mais je ne peux toujours pas obtenir ce travail.
ce qui suit est dans mes exigences.txt, qui se trouve sous mon dossier src, à côté settings.py et manage.py.
Django==1.4.3
South==0.7.6
distribute==0.6.31
ipython==0.13.1
wsgiref==0.1.2
dj-database-url==0.2.0
12 réponses
Juste eu ce problème aussi. J'ai fait le suivant à résoudre: (en supposant que vous êtes dans le projet dir)
rm -rf .git
git init
git add .
git commit -m "First commit"
heroku create --stack cedar
git push heroku master
une solution légèrement impliquée pour créer une nouvelle application, mais au moins cela fonctionne. Espérons que ça aide!
vous devez probablement ajouter un requirements.txt
fichier. consultez l'application python docs
j'ai eu un problème similaire et dans mon cas était parce que mes applications étaient à l'extérieur de mon dossier de projet. Heroku s'attend à avoir cette structure:
Procfile
requirements.txt
static/
myproject/
manage.py
app1/
app2/
..
rm -rf .git
git init
git add .
git commit -m "First commit"
heroku create --stack cedar
git push heroku master
Cela a fonctionné pour moi aussi !
setup.py
asseyez-vous dans la racine de votre repo et non dans le sous-répertoire src. Voir https://github.com/heroku/heroku-buildpack-python/blob/master/bin/detect
mon erreur stupide était de mal écrire requirements.txt
l'erreur requirments.txt
. Je n'ai pas besoin d' setup.py
.
de plus, j'ai besoin de stocker le dépôt git dans Github. Il ne suffisait pas de le créer localement.
pour tout le monde supprimant leur historique Git pour faire ce travail... la seule raison pour laquelle cela fonctionne est que la propagation initiale dans le nouveau dépôt contient les fichiers nécessaires pour que Heroku reconnaisse votre application.
j'ai rencontré ce problème parce que j'ai ajouté le Procfile
et requirements.txt
pour mon application et a essayé de pousser à Heroku avant de les commettre. Donc quand J'ai poussé Jusqu'à Heroku, Je ne poussais pas ces fichiers!
Faire un commit avec tous les fichiers nécessaires et pousser devrait résoudre ce problème, et est largement préférable à supprimer toute votre histoire Git.
Espérons que cette aide!
j'ai lutté avec cette question pendant longtemps et la seule solution était Vincent van leeuwen's, mais je n'ai pas compris pourquoi. Le problème, c'est que je travaillais dans une branche locale autre que master. Alors, quand j'ai été en cours d'exécution
git push heroku master
j'ai été réellement en poussant
(local) master->(heroku) master
et non
(local) current_branch -> (heroku) master
comme je l'avais prévu. Cela a échoué parce que ma branche principale locale n'avait pas d'exigences.txt, Procfile, etc.
le la solution est:
git push heroku current_branch:master
Voir heroku docs pour plus d'.
J'espère que cela vous aidera.
Heroku a besoin de conditions.le fichier txt, qui aide Heroku à savoir quelles dépendances doivent être installées pour votre projet Django. Vous pouvez utiliser un outil générer vos exigences.fichier txt.
Exécuter en ligne de commande
pip freeze > requirements.txt
ce qui créera des exigences.fichier txt avec tous vos paquets installés, comme Django, django-enregistrement, etc...
Ce lien peut être utile: http://tutorial.djangogirls.org/deploy/README.html
Ma situation est que mes codes sont nécessaires pour sauver GitHub et Heroku, si j'utilise la solution suivante,rm -rf .git
supprimera la connexion à mon Github, donc je ne peux pas pousser mes codes à Github.
rm -rf .git
git init
git add .
git commit -m "First commit"
heroku create --stack cedar-14
git push heroku master
a la place, ma solution est la suivante:
$ heroku create
$ heroku config:add BUILDPACK_URL=git://github.com/heroku/heroku-buildpack-python.git
$ git push heroku master
Vous devez ajouter l'exigence.le fichier txt à git et puis le pousser fonctionnera certainement.
Toutes les solutions ci-dessus ne mentionner que ce qui importe est où est votre .git initialisé. En fait, lorsque vous essayez de pousser sur heroku vous devriez le faire à partir du répertoire où vous aviez initialisé le git lui-même. De plus, le répertoire que vous téléchargez devrait être celui où vous avez des fichiers comme
exigences.txt, Procfile, virtualenv, manage.py et .gitignore
etc. En bref Heroku a besoin de tous les fichiers pour comprendre le type de projet que vous voulez pour télécharger, ces fichiers doivent être accessibles dans le répertoire racine.