Comment déployer votre flacon sur Heroku – Meilleure programmation

Online Coding Courses for Kids

Inscrivez-vous à Heroku, et installer la CLI si vous ne l’avez pas déjà fait. Assurez-vous d’être dans le répertoire supérieur de l’application que vous déployez et exécutez:

$ heroku login
$ heroku create example-app-name
$ git push heroku master

Il est très probable que ces erreurs aient généré des erreurs. Si c’est le cas, consultez les conseils de débogage en bas. Une fois que cela fonctionne, exécutez:

$ heroku open

J’espère que cela a fonctionné et que votre application est déployée! Faites-moi savoir dans les commentaires ce qui n’a pas fonctionné pour vous et comment / si vous l’avez résolu.

Débogage de Heroku

Assurez-vous que votre application fonctionne localement avant de vous arracher les cheveux pour qu’elle fonctionne sur Heroku.

Le type de message d’erreur le plus courant que j’obtiens lorsque je déploie des applications Python pour la première fois semble être pip install les erreurs. Ils ressemblent un peu à ceci:

remote:          Could not find a version that satisfies the requirement pkg-resources==0.0.0 (from -r/tmp/build_1b06c0323986c42337cfd16a42542c2a/requirements.txt (line 11)) (from versions: )
remote: No matching distribution found for pkg-resources==0.0.0 (from -r /tmp/build_1b06c0323986c42337cfd16a42542c2a/requirements.txt (line 11))
remote: ! Push rejected, failed to compile Python app.

Si cela se produit, essayez de modifier le numéro de version dans votre requirements.txt fichier. L’erreur ci-dessus s’est avérée être un bug lié à mon système d’exploitation, donc je viens de supprimer pkg-resources==0.0.0 de requirements.txt et réessayé.

Remarque: Une autre erreur très courante (et difficile à diagnostiquer!) Est lorsque l’un de vos modules / fichiers / dossiers a le même nom que l’un des modules utilisés par Heroku. Vous pouvez voir que cela se produit en suivant le traceback. Essayez de trouver les erreurs générées par le code que vous n’avez pas écrit, car il a tenté d’appeler le code que vous avez écrit. Le correctif est malheureusement de renommer les dossiers / fichiers en conflit.

Si vous déployez des projets de science des données (comme les générateurs de tweet, par exemple), vous verrez probablement une erreur comme celle-ci à un moment donné:

Error R14 (Memory quota exceeded)

Cela signifie que votre application utilise trop de mémoire pour Heroku, et vous devez soit optimiser votre code, soit augmenter la quantité de mémoire que Heroku lui permettra d’utiliser.

Pour afficher les messages d’erreur les plus récents:

heroku logs --tail

Les journaux Heroku peuvent sembler déroutants, mais recherchez ces traces de retour Python familières. Recherchez des messages comme Python can not find Flask cela pourrait indiquer que quelque chose ne va pas avec votre requirements.txt.

Vous pouvez également essayer de le désactiver puis de le réactiver.

Pour redémarrer votre application:

heroku restart

Je mettrai à jour ce post avec plus de conseils au fur et à mesure que je les proposerai.

Close Menu