[PYTHON] Déployer l'application Flask sur heroku (amer)

Déployer l'application Flask sur heroku (amer)

C'est assez difficile.

Erreur rencontrée dans les journaux $ heroku --tail error code=H10 desc="App crashed" error code=h14 desc="no web processes running" Tel. La thérapie d'adaptation avec le débordement de pile, etc. ne résout pas chaque problème. Cependant, cela a bien fonctionné de la manière suivante.

Créer un environnement virtuel Python

$ virtualenv flaskapp
$ cd flaskapp
Activer un environnement virtuel

$ source bin/activate
Ça ressemble à ça.

$ (flaskapp) $
Ici, vous pouvez installer diverses choses avec pip sans affecter l'environnement de la machine.

Par exemple


$ (flaskapp) $ pip install requests
$ (flaskapp) $ pip install Flask

Toka Toka.

Ici, gunicorn et Flask sont installés.

$ (flaskapp) $ pip3 install Flask gunicorn

[Référence Gunicorn]: Gunicorn est le serveur HTTP WSGI (Web Server Gateway Interface) de python et est un dérivé de Ruby's Unicorn. Gunicorn est un serveur léger avec une implémentation très simple par rapport à divers frameworks. Référence: https://qiita.com/arata-honda/items/09e1c350b1bd8a186e9c [Comment utiliser] Installer gunicorn avec pip installer gunicorn, Commencez avec gunicorn bonjour: app.

Préparer Heroku

En supposant que vous soyez connecté à Heroku

Installation de la CLI Heroku

$ (flaskapp) $ wget -qO- https://cli-assets.heroku.com/install-ubuntu.sh | sh
Connectez-vous à Heroku

$ (flaskapp) $ heroku login
Dossier de préparation
$ echo "web: gunicorn app:app --log-file -" > Procfile

$ (flaskapp) $ pip3 freeze > requirements.txt

Click==7.0
Flask==1.1.1
gunicorn==20.0.4
itsdangerous==1.1.0
Jinja2==2.10.3
MarkupSafe==1.1.1
Werkzeug==0.16.0

--runtime.txt (facultatif)

$ (flaskapp) $ python -V | sed -n "s/Python /python-/p" > runtime.txt
from flask import Flask
import os

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == "__main__":
    app.run(host="0.0.0.0", port=int(os.environ.get("PORT", 5000)))

Miso n'est pas seulement app.run () ici.

À ce stade, vérifiez si cela fonctionne localement.

$ (flaskapp) $ python app.py
 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

$ curl http://127.0.0.1:5000
Hello World!

Déployer sur heroku


$ (flaskapp) $ git init
$ (flaskapp) $ echo "*.DS_Store" > .gitignore
$ (flaskapp) $ git add .
$ (flaskapp) $ git commit -m 'first commit'
$ (flaskapp) $ heroku create
$ (flaskapp) $ git push heroku master

Contrôle de fonctionnement

Cliquez sur le bouton Ouvrir l'application en haut à droite de l'écran de la console Heroku

image.png

Un autre écran s'est ouvert et Hello World a été affiché en toute sécurité. image.png


Postscript

Si vous souhaitez ajouter un dossier à Heroku

Même si j'ajoute un dossier statique qui est souvent utilisé dans Flask à une application et que je le déploie sur Heroku, il ne peut pas être créé sur heroku. La raison en est que git ignore les dossiers vides. Si vous placez le fichier dans le dossier statique, puis le déployez, un dossier statique sera créé.


Référence: [Version complète] Procédure de déploiement de l'API créée avec Flask vers Heroku (Remarque) Référence: [Erreur: aucun fichier ou répertoire de ce type: '/ app / {myappname} / static' ”](https://stackoverflow.com/questions/19323513/heroku-django-oserror-no-such-file-or- directory-app-myappname-static)

Recommended Posts

Déployer l'application Flask sur heroku (amer)
Déployez l'application Flask sur Heroku
Déployez l'application Flask sur heroku
Déployer l'application Masonite sur Heroku 2020
(Échec) Déployer une application Web créée avec Flask avec heroku
Déployer l'application Django sur Heroku [Partie 1]
Exécutez l'application avec Flask + Heroku
Déployer l'application Django sur Heroku
Comment déployer une application Django sur heroku en seulement 5 minutes
Déployer l'application flask avec mod_wsgi (à l'aide de pipenv)
Déployer l'API Django avec heroku (mémo personnel)
[Python] Exécutez Flask sur Google App Engine
Application Web facile avec Python + Flask + Heroku
Premiers pas avec Heroku, déploiement de l'application Flask
Lancez l'application Flask avec Docker sur Heroku
Django Heroku Deploy 1
Redis sur Heroku
Notes sur Flask
shimehari sur heroku
Django Heroku Deploy 2
Gagnez l'application Web Python + Flask avec Jenkins
Un mémorandum pour toucher Python Flask avec Heroku
Exécutez l'application flask sur Cloud 9 et Apache Httpd
validation jsonschema sur flask
Déployer l'application Django créée avec PTVS sur Azure
Notes diverses sur le déploiement de l'application django sur Heroku
Déployer une application Web créée avec Streamlit sur Heroku
Un mémorandum où je suis tombé sur mon HEROKU & Python personnel (Flask)
Exemple pour mettre l'application Web Python Flask sur Azure App Service (Web App)
Comment déployer Pybot, le manuel Python le plus simple, sur Heroku
Déployer des applications Go sur Google App Engine avec des actions GitHub
Retour sur iOS'Healthcare App '2019
Déployez Flask avec ZEIT maintenant
Touch Flask + courir avec Heroku
[Premier développement personnel] L'histoire du déploiement de l'application Flask et du robot de réponse automatique de Twitter sur Heroku
Déployer le projet django sur heroku
Déployer un serveur Flask sur une machine virtuelle telle qu'Azure ou AWS