[PYTHON] Stellen Sie die Flask-App für Heroku bereit (bitter)

Stellen Sie die Flask-App für Heroku bereit (bitter)

Es ist ziemlich schwierig.

Fehler in $ heroku logs --tail aufgetreten error code=H10 desc="App crashed" error code=h14 desc="no web processes running" Eine solche. Die Bewältigungstherapie mit Stapelüberlauf usw. löst nicht jedes Problem. Es funktionierte jedoch auf folgende Weise gut.

Erstellen Sie eine virtuelle Python-Umgebung

$ virtualenv flaskapp
$ cd flaskapp
Aktivieren Sie eine virtuelle Umgebung

$ source bin/activate
Es sieht aus wie das.

$ (flaskapp) $
Hier können Sie verschiedene Dinge mit pip installieren, ohne die Maschinenumgebung zu beeinträchtigen.

Zum Beispiel


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

Toka Toka.

Hier sind Gunicorn und Flask installiert.

$ (flaskapp) $ pip3 install Flask gunicorn

[Gunicorn-Referenz]: Gunicorn ist der WSGI-HTTP-Server (Web Server Gateway Interface) von Python und ein Derivat von Ruby's Unicorn. Gunicorn ist ein leichter Server mit einer im Vergleich zu verschiedenen Frameworks sehr einfachen Implementierung. Referenz: https://qiita.com/arata-honda/items/09e1c350b1bd8a186e9c [Wie benutzt man] Installieren Sie Gunicorn mit Pip installieren Sie Gunicorn, Beginnen Sie mit Gunicorn Hallo: App.

Heroku vorbereiten

Angenommen, Sie haben sich bei Heroku angemeldet

Heroku CLI-Installation

$ (flaskapp) $ wget -qO- https://cli-assets.heroku.com/install-ubuntu.sh | sh
Melden Sie sich bei Heroku an

$ (flaskapp) $ heroku login
Vorbereitungsdatei
$ 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 (optional)

$ (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 ist hier nicht nur app.run ().

Überprüfen Sie zu diesem Zeitpunkt, ob es lokal funktioniert.

$ (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!

In Heroku bereitstellen


$ (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

Funktionsprüfung

Klicken Sie oben rechts auf dem Heroku-Konsolenbildschirm auf die Schaltfläche App öffnen

image.png

Ein weiterer Bildschirm wurde geöffnet und Hello World wurde sicher angezeigt. image.png


Nachtrag

Wenn Sie Heroku einen Ordner hinzufügen möchten

Selbst wenn ich einer App einen "statischen Ordner" hinzufüge, der häufig in Flask verwendet wird, und ihn für Heroku bereitstelle, kann er nicht auf Heroku erstellt werden. Der Grund ist, dass Git leere Ordner ignoriert. Wenn Sie die Datei in den statischen Ordner legen und dann bereitstellen, wird ein statischer Ordner erstellt.


Referenz: [Vollständige Version] Verfahren zum Bereitstellen der mit Flask erstellten API für Heroku (Hinweis) Referenz: [Fehler: Keine solche Datei oder kein solches Verzeichnis: '/ app / {myappname} / static' ”](https://stackoverflow.com/questions/19323513/heroku-django-oserror-no-such-file-or- Verzeichnis-App-myappname-statisch)

Recommended Posts

Stellen Sie die Flask-App für Heroku bereit (bitter)
Stellen Sie die Flask-App auf Heroku bereit
Stellen Sie die Flask-App auf Heroku bereit
Stellen Sie die Masonite-App auf Heroku 2020 bereit
(Fehler) Stellen Sie eine mit Flask mit Heroku erstellte Web-App bereit
Stellen Sie die Django-App in Heroku bereit [Teil 1]
Führen Sie die App mit Flask + Heroku aus
Stellen Sie die Django-Anwendung auf Heroku bereit
So stellen Sie eine Django-App in nur 5 Minuten für Heroku bereit
Stellen Sie die Kolben-App mit mod_wsgi bereit (mithilfe von pipenv).
Stellen Sie Django api mit Heroku bereit (persönliches Memo)
[Python] Führen Sie Flask in Google App Engine aus
Einfache Web-App mit Python + Flask + Heroku
Erste Schritte mit Heroku, Bereitstellen der Flaschen-App
Starten Sie die Flask-Anwendung mit Docker auf Heroku
Django Heroku Deploy 1
Redis auf Heroku
Hinweise zur Flasche
Shimehari auf Heroku
Django Heroku Deploy 2
Gewinnen Sie die Python + Flask-Web-App mit Jenkins
Ein Memorandum zum Berühren von Python Flask mit Heroku
Führen Sie die Kolben-App auf Cloud 9 und Apache Httpd aus
Jsonschema-Validierung am Kolben
Stellen Sie die mit PTVS erstellte Django-App in Azure bereit
Verschiedene Hinweise zur Bereitstellung der Django-App auf Heroku
Stellen Sie eine mit Streamlit erstellte Web-App für Heroku bereit
Ein Memorandum, in dem ich über mein persönliches HEROKU & Python (Flask) gestolpert bin
Beispiel zum Einfügen der Python Flask-Webanwendung in den Azure App Service (Webanwendung)
So stellen Sie Pybot, das einfachste Python-Lehrbuch, auf Heroku bereit
Stellen Sie Go-Apps mit GitHub-Aktionen für Google App Engine bereit
Rückblick auf die iOS'Healthcare App '2019
Stellen Sie Flask jetzt mit ZEIT bereit
Berühre Flask + laufe mit Heroku
[Erste persönliche Entwicklung] Die Geschichte der Bereitstellung der Flask-App und des automatischen Antwort-Bot von Twitter auf Heroku
Stellen Sie das Django-Projekt für Heroku bereit
Stellen Sie einen Flask-Server auf einer virtuellen Maschine wie Azure oder AWS bereit