[PYTHON] Bis die mit Flasche erstellte Webanwendung auf Heroku veröffentlicht (bereitgestellt) wird

Fazit

Veröffentlichen Sie eine Anwendung mit Flasche auf Heroku.

Einführung

Ich habe eine Webanwendung mit Python-Flasche erstellt und versucht, sie mit Heroku bereitzustellen, aber sie hat nicht funktioniert, daher werde ich einen Artikel als Ausgabe schreiben. Da dies mein erster Beitrag ist und ich ein Anfänger bin, würde ich es begrüßen, wenn Sie auf verschiedene Dinge hinweisen könnten.

Umgebung

Referenzierte Site

Grundsätzlich glaube ich nicht, dass es auf diesen Websites Probleme mit dem Verfahren gibt, aber ich habe einige Fehler, daher hoffe ich, dass Sie in diesem Fall darauf verweisen können.

Verfahren

  1. Erstellen Sie ein Heroku-Konto
  2. Installieren Sie Heroku CLI
  3. Erstellen Sie eine Web-App
  4. Erstellen Sie ein Verzeichnis zum Speichern der Dateien, die Sie bereitstellen möchten (erfordert die folgenden Dateien).
    • main.py
    • requirement.txt
    • Procfile
    • runtime.txt
  1. Mit dem Befehl git festschreiben
  2. In Heroku bereitstellen

Erstellen Sie ein Heroku-Konto

Sie können ein Konto von hier erstellen.

Heroku CLI installieren

Installieren Sie die Heroku-CLI von hier. Da ich Windows war, habe ich nach dem DLing des Installationsprogramms "heroku-x64.exe" ausgeführt. Ich habe die Standardeinstellungen für alles, was ich gewählt habe, beibehalten.

Erstellen einer Web-App

Bitte mach es. Bitte beachten Sie, dass es in einer Remote-Umgebung funktioniert. Bei der Ausführung in einer Remote-Umgebung habe ich den folgenden Code verwendet:

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

Bei der Bereitstellung habe ich es in den folgenden Code geändert. Ich bin mir nicht sicher, was ich hier mache, also habe ich es vorerst nur kopiert.

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

Erstellen Sie ein Verzeichnis zum Speichern der Dateien, die Sie bereitstellen möchten

Main.py und andere Dateien haben nichts Besonderes. ** Achtung </ font> ** ** Beachten Sie den Zeichencode von require.txt, Procfile, runtime.txt. Ich konnte nicht mit dem Zeichencode utf-16 LE bereitstellen, aber ich konnte mit utf-8 bereitstellen. ** ** **

requirement.txt Dies ist eine Datei, die das zu importierende Modul und seine Version beschreibt. Es scheint ein Paket zu geben, wenn numpy usw. verwendet wird, aber ich habe aufgehört, weil ich den Fehler nicht beheben konnte. Der Inhalt ist wie folgt. Die Notation lautet Modulname == Version.

requirement.txt


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

Procfile Ich denke, dies ist eine Datei, die die auszuführende Python-Datei beschreibt (nicht sehr vertraut). Ich habe auch eine Datei namens Procfile.windows erstellt und wie folgt beschrieben. Benennen Sie den folgenden Teil "main.py" in Ihre Python-Datei um. Wenn Sie eine Flasche anstelle einer Flasche verwenden, scheint diese nicht wie folgt geschrieben zu sein.

Procfile


web: python main.py

Procfile.windows


web: python main.py runserver 0.0.0.0:5000

runtime.txt Dies ist die auszuführende Version von Python. Die unterstützte Version von Heroku wurde festgelegt, daher habe ich mich vorerst für Python-3.8.5 entschieden. Es war anders als meine Ausführungsumgebung, aber es war cool (wahrscheinlich nicht gut). ** Bitte beachten Sie, dass Sie eine Fehlermeldung erhalten, wenn Sie in diesem Fall einen Fehler machen. ** ** **

runtime.txt


python-3.8.5

Achtung (wieder)

** Beachten Sie den Zeichencode von require.txt, Procfile, runtime.txt. Ich konnte nicht mit dem Zeichencode utf-16 LE bereitstellen, aber ich konnte mit utf-8 bereitstellen. ** ** **

Mit dem Befehl git festschreiben

Navigieren Sie zu dem Verzeichnis, das Sie bereitstellen möchten, und schreiben Sie dieses Verzeichnis fest.

cd (Verzeichnis, das Sie bereitstellen möchten)
git init
git add --all
git commit -m "first commit"

In Heroku bereitstellen

Endlich in Heroku einsetzen. ~~ Ich habe mir hier mehr Zeit genommen als eine App zu erstellen ~~

Melden Sie sich bei Heroku an

Melden Sie sich zuerst bei Heroku an. Sie werden nach der E-Mail-Adresse und dem Passwort gefragt, die Sie bei Heroku registriert haben. Geben Sie diese ein.

heroku login

Wenn alles gut geht, sollten Sie so etwas sehen:

Als mein eigenes angemeldet

Erstellen und Bereitstellen über die App

Dann machen Sie folgendes: Dies erstellt eine App in Heroku. Wenn Sie "heroku create" ausführen, wird Ihnen die Adresse mitgeteilt, diese Adresse ist jedoch die Adresse der Webanwendung. In diesem Fall wird der Name entsprechend festgelegt, aber Sie können ihn anscheinend selbst festlegen.

heroku create

Zum Schluss drücken.

git push heroku master

Wenn alles gut geht, sollten Sie Code ähnlich dem folgenden sehen.

remote: Verifying deploy... done.

Im Gegenteil, wenn es nicht funktioniert, wird der folgende Code angezeigt.

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

Wenn Sie sich den Fehlercode zu diesem Zeitpunkt genau ansehen, erfahren Sie, wo er hängen geblieben ist, aber er ist nicht so nett. Wenn Sie also zur Seite "https: // git.heroku.com / XXXXXXX.git" gehen, können Sie das detaillierte Protokoll überprüfen. Lassen Sie uns also die detaillierten Informationen dort wissen.

Überprüfen Sie die App

Wenn Sie bereitstellen können

heroku open

Sie können die App unter überprüfen.

Recommended Posts

Bis die mit Flasche erstellte Webanwendung auf Heroku veröffentlicht (bereitgestellt) wird
(Fehler) Stellen Sie eine mit Flask mit Heroku erstellte Web-App bereit
# 1 Bis zur Bereitstellung der Webanwendung von Django (Erstellen einer Instanz mit EC2 unter AWS)
So stellen Sie eine mit Flask erstellte Web-App für Heroku bereit
[Python] Eine schnelle Webanwendung mit Bottle!
Ich habe eine WEB-Bewerbung bei Django gemacht
Bis zur Verwendung von PhantomJS mit Python auf Heroku
Während des Studiums von JQuery und Python bis zur Veröffentlichung eines Webdienstes auf GCP
Stellen Sie die mit PTVS erstellte Django-App in Azure bereit
Stellen Sie eine mit Streamlit erstellte Web-App für Heroku bereit
[Keine Notwendigkeit, eine lokale Umgebung zu erstellen] Stellen Sie eine mit Cloud 9 erstellte Python-Flaschenanwendung für Heroku bereit
Stellen Sie die Django-Anwendung auf EC2 mit Nginx + Gunicorn + Supervisor bereit
Stellen Sie die Django-Anwendung mit Docker bereit
Erstellen Sie eine Webanwendung mit Django
Erstellen Sie mit Chalice eine flaschen- / flaschenähnliche Webanwendung auf AWS Lambda
So stellen Sie eine Webanwendung in der Alibaba Cloud als Freiberufler bereit
Startete eine Webanwendung auf AWS mit Django und wechselte Jobs
Führen Sie eine Python-Webanwendung mit Docker aus
Starten Sie die Flask-Anwendung mit Docker auf Heroku
Bis die Django-Anwendung (+ MySQL) auf AWS EC2 veröffentlicht wird (+ RDS (+ S3))
Bis du weißt, was du mit Django mit Jenkins gemacht hast
Ich habe eine GUI-App mit Python + PyQt5 erstellt
Bis Python mit Pythonbrew installiert ist und Flask auf dem WSGI-Server ausgeführt wird
Bis Sie die Flask-Anwendung vorerst in Google App Engine ausführen
Erstellt eine Web-App, die IT-Ereignisinformationen mit Vue und Flask abbildet
Bis Sie mit Python unter Windows 7 eine maschinelle Lernumgebung erstellen und ausführen
Stellen Sie Python 3.6 / Django / Postgres-Webanwendungen in Azure bereit
Bis die Webanwendung mit Sakura VPS veröffentlicht wird
Rückblick auf die Erstellung eines Webdienstes mit Django 1
Stellen Sie die Django-Anwendung in Google App Engine (Python3) bereit.
Ich habe eine Python3-Umgebung unter Ubuntu mit direnv erstellt.
Starten Sie mit Docker eine Python-Webanwendung auf Nginx + Gunicorn
Rückblick auf die Erstellung eines Webdienstes mit Django 2
Ich habe versucht, LINE BOT mit Python und Heroku zu machen
Webanwendung erstellt mit Python3.4 + Django (Teil.1 Umgebungskonstruktion)
[GitHub] Bis Sie mit ssh mithilfe von Deploy-Schlüsseln ziehen
Stellen Sie Echtzeit-Webanwendungen mit swampdragon x apache bereit
Webanwendung mit Flasche (1)
Erstellen Sie eine Web-App, die Zahlen mit einem neuronalen Netzwerk erkennt
Ich habe eine einfache Buch-App mit Python + Flask ~ Introduction ~ erstellt
Star Wars öffentliches Gedenken, Star Wars Stil TL App mit Flasche gemacht
Webanwendung mit Python3.3.1 + Flasche (1) - Ändern Sie die Vorlagen-Engine in jinja2
Ich habe Sie dazu gebracht, Befehle über einen WEB-Browser auszuführen
Erstellen Sie mit pyenv unter Ubuntu 12.04 schnell eine Ausführungsumgebung für Python3.4 + Nginx + uWSGI + Flask-Webanwendungen
Entwicklung von Webanwendungen mit Flask
Stellen Sie die Masonite-App auf Heroku 2020 bereit
Erstellen Sie eine Webanwendung mit Django
Webanwendung mit Python + Flask ② ③
Webanwendung mit Python + Flask ④
Beachten Sie, was Sie getan haben, um Flycheck mit Python zu verwenden
Lassen Sie uns eine WEB-Anwendung für das Telefonbuch mit Flasche Teil 1 erstellen
Ich habe mit Razpai einen Webserver erstellt, um Anime zu schauen
Veröffentlichen Sie eine Web-App in 4 Minuten 33 Sekunden mit Heroku x Flasche
Lassen Sie uns eine WEB-Anwendung für das Telefonbuch mit Flasche Teil 2 erstellen
So stellen Sie eine Django-App in nur 5 Minuten für Heroku bereit
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
Ich habe versucht, ein Gerüstwerkzeug für Python Web Framework Bottle zu erstellen
Lassen Sie uns eine WEB-Anwendung für das Telefonbuch mit Flasche Teil 4 erstellen