[PYTHON] Jusqu'à ce que l'application Web créée avec Bottle soit publiée (déployée) sur Heroku

Conclusion

Publiez une application en utilisant Bottle sur Heroku.

introduction

J'ai créé une application Web avec une bouteille Python et j'ai essayé de la déployer en utilisant Heroku, mais cela n'a pas fonctionné, alors j'écrirai un article en tant que sortie. Comme il s'agit de mon premier article et que je suis un débutant, j'apprécierais que vous m'indiquiez diverses choses.

environnement

Site référencé

En gros, je ne pense pas qu'il y ait de problème avec la procédure sur ces sites, mais j'ai quelques bugs, donc j'espère que vous pourrez vous y référer dans ce cas.

procédure

  1. Créez un compte Heroku
  2. Installez Heroku CLI
  3. Créez une application Web
  4. Créez un répertoire pour stocker les fichiers que vous souhaitez déployer (nécessite les fichiers suivants)
    • main.py
    • requirement.txt
    • Procfile
    • runtime.txt
  1. Commit avec la commande git
  2. Déployer sur Heroku

Créez un compte Heroku

Vous pouvez créer un compte depuis ici.

Installation de la CLI Heroku

Installez la CLI Heroku depuis ici. Depuis que j'étais Windows, j'ai exécuté heroku-x64.exe après avoir installé le programme d'installation. J'ai laissé les valeurs par défaut pour tout ce que j'ai choisi.

Créer une application Web

Veuillez le faire. Veuillez noter que cela fonctionne dans un environnement distant. Lors de l'exécution dans un environnement distant, j'ai utilisé le code suivant,

run(host="localhost",port=8080,debug=True)

Lors du déploiement, je l'ai changé pour le code suivant. Je ne suis pas sûr de ce que je fais ici, alors je viens de le copier pour le moment.

run(host="0.0.0.0", port=int(os.environ.get("PORT", 5000)))

Créez un répertoire pour stocker les fichiers que vous souhaitez déployer

Il n'y a rien de spécial à propos de main.py et d'autres fichiers. ** Attention </ font> ** ** Faites attention au code de caractère de requirements.txt, Procfile, runtime.txt. Je ne pouvais pas déployer avec le code de caractère utf-16 LE, mais je pourrais déployer avec utf-8. ** **

requirement.txt Il s'agit d'un fichier qui décrit le module que vous souhaitez importer et sa version. Il semble y avoir un package lors de l'utilisation de numpy etc., mais j'ai arrêté car je ne pouvais pas corriger l'erreur. Le contenu est le suivant. La notation est «nom du module == version».

requirement.txt


bottle==0.12.18
numpy==1.18.5
scikit-learn==0.23.1

Procfile Je pense que c'est un fichier qui décrit le fichier python à exécuter (pas très familier). J'ai également créé un fichier appelé Procfile.windows et je l'ai décrit comme suit. Renommez la partie main.py ci-dessous en votre fichier Python. Si vous utilisez flacon au lieu de bouteille, cela ne semble pas être écrit comme suit.

Procfile


web: python main.py

Procfile.windows


web: python main.py runserver 0.0.0.0:5000

runtime.txt C'est la version de Python à exécuter. La version prise en charge de Heroku a été décidée, j'ai donc choisi Python-3.8.5 pour le moment. C'était différent de mon environnement d'exécution, mais c'était cool (probablement pas bon). ** Veuillez noter que vous obtiendrez une erreur si vous faites une erreur dans le cas. ** **

runtime.txt


python-3.8.5

Attention (encore)

** Faites attention au code de caractère de requirements.txt, Procfile, runtime.txt. Je ne pouvais pas déployer avec le code de caractère utf-16 LE, mais je pourrais déployer avec utf-8. ** **

Commit avec la commande git

Accédez au répertoire que vous souhaitez déployer et valider ce répertoire.

cd (Répertoire que vous souhaitez déployer)
git init
git add --all
git commit -m "first commit"

Déployer sur Heroku

Enfin, déployez sur Heroku. ~~ J'ai pris plus de temps ici que de créer une application ~~

Connectez-vous à Heroku

Tout d'abord, connectez-vous à Heroku. Il vous sera demandé l'adresse e-mail et le mot de passe que vous avez enregistrés auprès d'Heroku, alors saisissez-les.

heroku login

Si tout se passe bien, vous devriez voir quelque chose comme ceci:

Connecté en tant que mien

Déployer à partir de la création d'applications

Ensuite, procédez comme suit: Cela crée une application dans Heroku. Si vous faites heroku create, il vous indiquera l'adresse, mais cette adresse sera l'adresse de l'application Web. Dans ce cas, le nom est défini de manière appropriée, mais il semble que vous puissiez le définir vous-même.

heroku create

Enfin, poussez.

git push heroku master

Si tout se passe bien, vous devriez voir un code similaire au suivant.

remote: Verifying deploy... done.

Au contraire, si cela ne fonctionne pas, le code suivant sera affiché.

error: failed to push some refs to 'https://git.heroku.com/XXXXXXX.git'

À ce stade, si vous regardez de près le haut du code d'erreur, il vous dira où il est resté bloqué, mais ce n'est pas si gentil. Donc, si vous allez à la page https: // git.heroku.com / XXXXXXX.git, vous pouvez consulter le journal détaillé, alors connaissons les informations détaillées.

Vérifiez l'appli

Si vous pouvez déployer

heroku open

Vous pouvez consulter l'application sur.

Recommended Posts

Jusqu'à ce que l'application Web créée avec Bottle soit publiée (déployée) sur Heroku
(Échec) Déployer une application Web créée avec Flask avec heroku
# 1 Jusqu'au déploiement de l'application Web de Django (création d'une instance avec EC2 sur AWS)
Comment déployer une application Web créée avec Flask sur Heroku
[Python] Une application web rapide avec Bottle!
J'ai fait une application WEB avec Django
Jusqu'à l'utilisation de PhantomJS avec Python sur Heroku
En étudiant JQuery et Python jusqu'à la publication d'un service Web sur GCP
Déployer l'application Django créée avec PTVS sur Azure
Déployer une application Web créée avec Streamlit sur Heroku
[Pas besoin de créer un environnement local] Déployez une application de bouteille Python créée avec Cloud 9 sur Heroku
Déployer l'application Django sur EC2 avec Nginx + Gunicorn + Supervisor
Déployer l'application Django avec Docker
Créer une application Web avec Django
Créer une application Web de type Flask / Bottle sur AWS Lambda avec Chalice
Comment déployer une application Web sur Alibaba Cloud en tant que pigiste
Lancement d'une application Web sur AWS avec django et modification des tâches
Exécutez une application Web Python avec Docker
Lancez l'application Flask avec Docker sur Heroku
Jusqu'à ce que l'application Django (+ MySQL) soit publiée sur AWS EC2 (+ RDS (+ S3))
Jusqu'à ce que vous définissiez ce que vous avez fait avec Django avec Jenkins
J'ai créé une application graphique avec Python + PyQt5
Jusqu'à ce que Python soit installé avec pythonbrew et que Flask s'exécute sur le serveur WSGI
Jusqu'à ce que vous exécutiez l'application Flask sur Google App Engine pour le moment
Création d'une application Web qui mappe les informations sur les événements informatiques avec Vue et Flask
Jusqu'à ce que vous créiez un environnement d'apprentissage automatique avec Python sur Windows 7 et que vous l'exécutiez
Déployer des applications Web Python 3.6 / Django / Postgres sur Azure
Jusqu'à la sortie de l'application Web avec Sakura VPS
Retour sur la création d'un service Web avec Django 1
Déployer l'application Django sur Google App Engine (Python3)
J'ai créé un environnement Python3 sur Ubuntu avec direnv.
Lancer une application Web Python sur Nginx + Gunicorn avec Docker
Retour sur la création d'un service Web avec Django 2
J'ai essayé de faire LINE BOT avec Python et Heroku
Application Web réalisée avec Python3.4 + Django (Construction de l'environnement Part.1)
[GitHub] Jusqu'à ce que vous tiriez avec ssh à l'aide des clés Deploy
Déployez des applications Web en temps réel avec Swampdragon x Apache
Application Web utilisant Bottle (1)
Créez une application Web qui reconnaît les nombres avec un réseau neuronal
J'ai créé une application de livre simple avec python + Flask ~ Introduction ~
Commémoration publique de Star Wars, application TL de style Star Wars faite avec une bouteille
Application Web avec Python3.3.1 + Bottle (1) - Changer le moteur de modèle en jinja2
Je vous ai fait exécuter des commandes depuis un navigateur WEB
Créez rapidement un environnement d'exécution d'application Web Python3.4 + Nginx + uWSGI + Flask en utilisant pyenv sur Ubuntu 12.04
Développement d'applications Web avec Flask
Déployer l'application Masonite sur Heroku 2020
Créer une application Web avec Django
Application Web avec Python + Flask ② ③
Application Web avec Python + Flask ④
Notez ce que vous avez fait pour utiliser Flycheck avec Python
Faisons une application WEB pour l'annuaire téléphonique avec flacon Partie 1
J'ai créé un serveur Web avec Razpai pour regarder des anime
Publiez une application Web en 4 minutes 33 secondes avec Heroku x Bottle
Faisons une application WEB pour l'annuaire téléphonique avec flacon Partie 2
Comment déployer une application Django sur heroku en seulement 5 minutes
J'ai essayé de créer une application todo en utilisant une bouteille avec python
J'ai essayé de créer un outil d'échafaudage pour le framework Web Python Bottle
Faisons une application WEB pour l'annuaire téléphonique avec flacon Partie 4