[PYTHON] Re: Heroku Leben beginnt mit Flask von Null - Umwelt und Hallo Welt -

Einführung

Bei der Clubaktivität Hackason habe ich eine einfache API erstellt, indem ich Python Flask zum ersten Mal auf Heroku gesetzt habe, also würde ich es gerne schreiben.

(Hinzugefügt am 28.10.2016) Der Code der API, die PhantomJS mit Selenium ausführt und mit Beautifulsoup kratzt, und seine Erklärung befinden sich im zweiten Teil. Re: Heroku-Leben ab Null mit Flask ~ Selen & PhantomJS & Beautifulsoup ~ Beim Es ist der zweite Teil, bis das Programm für Heroku bereitgestellt wird Re: Leben in Heroku von Null mit Flask ~ PhantomJS bis Heroku ~ Da es geschrieben steht, schauen Sie bitte.

Was wurde verwendet

Python-Umgebung

Endziele

Setzen Sie das, was Sie mit Flask of Python gemacht haben, auf Heroku und erstellen Sie eine API, die json zurückgibt, wenn Sie es erhalten Chrome misst übrigens

Diesmal das Ziel

Erstellen Sie eine Python-Umgebung und erheben Sie Flask zu Heroku, um Hello World auszuführen

Nächste Ziel

Eine Webseite mit Python kratzen, sie im JSON-Format verarbeiten, ausspucken und an Heroku senden, Von Heroku zu dem Ort, an dem Sie Json bekommen

Vorbereitung

Python-Umgebung

Zunächst einmal beim Betrachten des Artikels der Person, die auf leicht verständliche Weise über Qiita usw. zusammenfasst. Setze ** pyenv ** und ** pyenv-virtualenv ** in Homebrew etc. ein! Referenz:

Versuchen Sie hier anstelle von pyenv-virtualenv, ein normales virtualenv zu setzen. Wenn Sie es einfügen, kann es problematisch sein. Stellen Sie daher sicher, dass Sie beim Einfügen die virtuelle Umgebung des pyenv-Plug-Ins eingeben. Referenz: http://qiita.com/who_you_me/items/09f572c842b1c3fea015

Wechseln Sie nach der Installation von pyenv und pyenv-virtualenv in den Ordner, den Sie auf Heroku hochladen möchten, und bereiten Sie die Umgebung vor.

$ mkdir hello-flask
#Erstellen Sie einen Projektordner

$ cd hello-flask
#In den Ordner verschieben


$ pyenv virtualenv 3.5.1 v3.5.1-flask 
# v3.5.1-Erstellen Sie eine Umgebung mit dem Namen flask

$ pyenv versions
# v3.5.1-Bestätigen Sie, dass der Kolben hinzugefügt wurde


$ pyenv shell v3.5.1-flask
#Wenden Sie diese Umgebung unterhalb des Arbeitsordners an

$ pyenv rehash
#Für alle Fälle aufwärmen

$ pyenv versions
# v3.5.1-Vergewissern Sie sich, dass es in den Kolben gebracht wurde

Auf diese Weise werden andere Umgebungen nicht verschmutzt, selbst wenn Sie verschiedene Pakete in diesen Ordner legen. Wenn Sie Flask auf andere Ordner anwenden, können Sie dieselbe Umgebung verwenden! Yay!

Bis Hallo Welt mit Flasche

Flask Schließen Sie das diesmal verwendete Python-Framework ein

$ pip install flask

Gunicorn Geben Sie auch den diesmal verwendeten Webserver an

$ pip install gunicorn

Erstellen Sie Flask-Dateien

$ touch hello.py Procfile
#Erstellen Sie eine Datei, um die Kolbendatei und die Einstellungen zu schreiben

hello.py


# -*- coding: utf-8 -*-
#Bei der Verwendung von Japanisch unbedingt erforderlich

#Importieren Sie die erforderlichen Bibliotheken wie z. B. den Kolben
import os
from flask import Flask

#Instanziieren Sie Ihren Namen als App
app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello World!'
    
#Bestimmen Sie, ob Sie mit Bash schlagen oder mit Import einfügen
if __name__ == '__main__':
    app.run()

Procfile

web: gunicorn hello:app --log-file=-

Wenn Sie sich bisher vorbereitet haben, funktioniert der Rest, wenn Sie es mit Python starten! Praktisch!

$ python hello.py
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Es wird so sein, also sei egoistisch, wie dir gesagt wird Wenn Sie auf http://127.0.0.1:5000/ zugreifen ... hello.png

Sie können das Programm beenden, indem Sie gleichzeitig wie geschrieben die Tastenkombination und C drücken.

Abfahrt nach Heroku

Registrieren Sie sich bei Heroku

https://www.heroku.com/ Erstellen Sie ein Konto aus der Anmeldung. Es scheint, dass die Bestätigungsmail für die Fertigstellung innerhalb von 15 Minuten zurückgeschickt wird. Warten Sie also gemächlich

Wenn Sie ein neues registrieren und das Dashboard anzeigen können, können Sie loslegen.

Eigentlich zu Heroku erheben

Ich werde endlich das geben, was ich Heroku gemacht habe!

Erstellen Sie eine Datei, die die von Ihnen verwendete Bibliothek exportiert

$ pip freeze > requirements.txt

Heroku schaut sich diese Datei an und bereitet Bibliotheken usw. vor. Wenn Sie diese Datei auf Heroku hochladen, ohne sie zu aktualisieren, wird eine Fehlermeldung angezeigt.

Heroku und Git

Git anwenden und festschreiben

$ git init
#Setze git in den Ordner

$ git add .
#Alles hinzufügen


$ git commit -m "helloworld"
#Machen Sie den Commit-Namen helloworld und legen Sie fest

Ich werde es Heroku von hier aus geben

$ heroku login
#Bei heroku anmelden Geben Sie die registrierte E-Mail-Adresse ein und übergeben Sie

$ heroku create hello-flask
#Erstellen Sie ein neues Projekt für Heroku

Wenn Sie Heroku im Web anstatt auf Heroku erstellen, wird sogar ein Remote-Repository für Git eingerichtet. Der Projektname dieses Heroku, einschließlich anderer Benutzer **, kann jedoch nicht denselben Namen in Heroku ** verwenden. Wenn Sie ihn also nicht erstellen können, können Sie danach eine Nummer hinzufügen. Wenn Sie nach der Erstellung von Heroku nichts schreiben, gibt Heroku ihm automatisch einen geeigneten Namen.

$ git push heroku master
#Schieben Sie es in das Remote-Repository von Heroku, indem Sie es zum Heroku-Master machen
#Mit diesem einen Befehl können Sie die Bibliothek auf Heroku stellen und verschiedene Dinge tun.

$ heroku open
#Dieser Befehl öffnet es in Ihrem Browser, ohne die URL zu kopieren

Wenn die Heroku-URL mit geöffnetem Heroku geöffnet wird, können Sie Hello World sehen.

Wenn Sie zu diesem Zeitpunkt den zurückgegebenen Inhaltstext json erstellen können, sollte es sich um eine sogenannte json-API handeln! Yay!

Wenn Sie eine Fehlermeldung erhalten

Wenn ich sehe, was ich auf Heroku hochgeladen habe und eine Fehlermeldung erhalte, $ heroku logs Werfen wir einen Blick darauf Wenn Sie sich Protokolle ansehen, möchten Sie diese möglicherweise nicht sehen, da viele Zeilen vorhanden sind. Suchen Sie jedoch nach dem Dateinamen, den Sie daraus erstellt haben

File "/app/hello.py", line 10

Wenn Sie so etwas schreiben, wissen Sie, dass dieser Teil oder der damit verbundene Teil falsch ist.

Fehlerprüfblatt

Wenn Sie Japanisch in einer Python-Datei verwenden

Oben in der Datei

# -*- coding: utf-8 -*-

Hast du vergessen zu schreiben? Erforderlich, wenn Sie Japanisch auch im Kommentar verwenden. Wenn Sie Japanisch an einer Stelle verwenden, die nicht auskommentiert ist, müssen Sie möglicherweise am Anfang u hinzufügen

hello.py


#Bei der Ausgabe auf Japanisch
def index():
    return u'Hallo Welt! !!'

Wenn es beim Drücken auf Heroku fehlschlägt

$ pip freeze > requirements.txt

Haben Sie vergessen, die Datei resources.txt zu erstellen? Wenn Sie pushen können, aber einen Fehler erhalten, nachdem Sie diesen Befehl einmal ausgeführt haben, Überprüfen Sie, ob Sie die neu hinzugefügte Bibliothek in der Datei verwenden

Referenz

Nachwort

Wenn Sie Verbesserungen oder Fehler haben, teilen Sie uns dies bitte in den Kommentaren mit.

Twitter:@ymgn_ll

Recommended Posts

Re: Heroku Leben beginnt mit Flask von Null - Umwelt und Hallo Welt -
Re: Heroku Leben von Grund auf neu mit Flask ~ PhantomJS bis Heroku ~
Re: Heroku Leben von vorne anfangen mit Flask ~ Selenium & PhantomJS & Beautifulsoup ~
Hallo Welt auf Flasche
Hallo Welt mit Flask + Hamlish
Hallo Welt- und Gesichtserkennung mit opencv-python 4.2
Flask Tutorial (von der Installation bis zur Hallo Welt)
[AWS] Erstellen Sie mit CodeStar eine Python Lambda-Umgebung und führen Sie Hello World aus
Hallo Welt- und Gesichtserkennung mit OpenCV 4.3 + Python
Hallo Welt mit gRPC / go in Docker-Umgebung
Erste Python ① Umgebungskonstruktion mit Pythonbrew & Hello World !!
Hallo Welt mit ctypes
Hallo, Welt mit Docker
[Tweepy] Re: Twitter Bot Entwicklungsleben ab Null # 1 [Python]
Vom Einrichten der Rust-Umgebung bis zum Ausführen von Hello World
Betreff: Wettbewerbsfähiges Programmierleben ab Null Kapitel 1.3 "Beilagentee"
Bis Hello World mit Flask + uWSGI + Nginx @ Sakuras VPS (CentOS 6.6)
Python / Tensorflow-Anfänger bauen eine Jupyter + Tensorflow-Umgebung und machen Hello World
Berühre Flask + laufe mit Heroku
Zeichne Hallo Welt mit mod_wsgi
Bis hallo Welt mit Zappa
Python beginnend mit Hallo Welt!
Vom Aufbau einer Python-Umgebung für unerfahrene Personen bis zur Hello-Welt
Betreff: Wettbewerbsfähiges Programmierleben ab Null Kapitel 1.2 "Python der Tränen"