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.
$ virtualenv flaskapp
$ cd flaskapp
$ source bin/activate
$ (flaskapp) $
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.
En supposant que vous soyez connecté à Heroku
$ (flaskapp) $ wget -qO- https://cli-assets.heroku.com/install-ubuntu.sh | sh
$ (flaskapp) $ heroku login
$ 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!
$ (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
Un autre écran s'est ouvert et Hello World a été affiché en toute sécurité.
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