Installieren Sie Version 3.6.8 von pkg [Installation aus einer pkg-Datei](https://qiita.com/ms-rock/items/72b8f1abc661c539bb09#21-pkg%E3%83%95%E3%82%A1%E3%82%A4%E3%83 % AB% E3% 81% 8B% E3% 82% 89% E3% 81% AE% E3% 82% A4% E3% 83% B3% E3% 82% B9% E3% 83% 88% E3% 83% BC % E3% 83% AB% E6% 96% B9% E6% B3% 95)
# Python3.6.Überprüfen Sie den Installationsort von 8
$ which python
#Installieren Sie Python mit Brew, um pip3 zu installieren
$ brew install python
#Installation von virtualenv
$ pip3 install virtualenv
#Erstellen Sie eine virtuelle Umgebung
$ virtualenv --python=/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 env
#Versionsbestätigung
$ python
Python 3.6.8 (v3.6.8:3c6b436a57, Dec 24 2018, 02:04:31)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
So gelangen Sie in die virtuelle Umgebung
source bin/activate
Python3-Installation (Mac-Version)
--Erstellen Sie ein Line Developer-Konto --Erstellen eines Kanals --Bot-Erstellung
Führen Sie die folgenden Schritte aus, um mit "Erstellen eines LINE-Bots mit Flask" fortzufahren. [Bis Sie den LINE-Bot mit Flask implementieren und für Heroku bereitstellen](https://qiita.com/suigin/items/0deb9451f45e351acf92#%E9%96%8B%E7%99%BA%E7%92%B0%E5 % A2% 83)
Führen Sie ab dem Beginn der virtuellen Umgebung aus.
$ source bin/activate
$ pip install flask
$ pip install line-bot-sdk
$ brew cask install ngrok
Zu verwendendes SDK: line-bot-sdk-python Was ist Homebrew-Fass?
pip3 install python-dotenv
Best Practices für Konfigurationsdateien in Flask So schreiben Sie Umgebungsvariablen, die Sie nicht in [GitHub] Python einfügen möchten
Fügen Sie Folgendes zu "app.py" hinzu, greifen Sie auf den Stammpfad zu und bestätigen Sie, dass "Hallo Welt!" Angezeigt wird.
@app.route("/")
def hello_world():
return "hello world!"
Kolbenausführungsbefehl
flask run --host=0.0.0.0
ngrok Wenn Sie die Leitung testen möchten, müssen Sie die Test-URL in den Webhook eingeben. Zu diesem Zeitpunkt ist die URL von "https" erforderlich, und "ngrok" ist zu diesem Zeitpunkt praktisch.
Sie können Ihre lokale Entwicklung auf https veröffentlichen. Bitte überprüfen Sie unten für Details. ngrok ist zu bequem
Führen Sie in einem separaten Terminal die folgenden Schritte aus
flask run --host=0.0.0.0
ngrok http 5000
Heroku
$ brew install heroku/brew/heroku
#Der Browser wird angezeigt, melden Sie sich dort an
$ heroku login
Erstellen Sie die folgenden drei neuen
requirements.txt
Verwenden Sie feeze
, um die Version, die Sie sich derzeit in der virtuellen Umgebung befinden, in die Datei resources.txt zu exportieren.
Überprüfen Sie die Liste der installierten Pakete mit Python, pip list / freeze
runtime.txt Beschreiben Sie die Python-Version.
Procfile
web: gunicorn app:app --log-file -
Über WSGI Unterschiede zwischen Webserver und Anwendungsserver bei der Rails-Entwicklung (Übersetzung)
Nginx leitet die Anfrage an Unicorn weiter. Unicorn leitet die Anfrage an Rack weiter. Rack leitet die Anforderung an den Rails-Router weiter. Der Router leitet die Anforderung an den entsprechenden Controller weiter. Dann werden die Antworten in umgekehrter Reihenfolge zurückgegeben.
heroku create [app name]
git push heroku master
#Liste der Umgebungsvariablen
$ heroku config
#Umgebungsvariable hinzufügen
$ heroku config:set ENV_NAME=value
[Heroku-Befehl] Umgebungsvariable
heroku run bash
Heroku Command Collection
Durch Implementieren der folgenden Schritte können Sie die Aktion definieren, wenn ein Beacon-Ereignis auftritt.
Wenn Sie das Ereignis ändern möchten, ändern Sie das Argument (BeaconEvent
) von @ handler.add (BeaconEvent)
.
Das folgende Programm sollte daher beschreiben, wie ** nach dem Ereignis behandelt wird. ** **.
Die Ereignisauftrittsbedingung wird auf der Leitungsseite implementiert.
#Leuchtfeuerereignis ausgelöst
@handler.add(BeaconEvent)
def handle_beacon(event):
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text='Hello World'))
Die obige Implementierung verwendet einen Dekorator.
Mit einem Dekorator können Sie einen Prozess hinzufügen, der automatisch ausgeführt wird, wenn Sie eine als Bibliothek bereitgestellte Funktion aufrufen. Zitiert aus Über Python-Dekoratoren
handler = WebhookHandler(channel_secret)
#Kanalisieren Sie die WebhookHandler-Klasse_Mit Geheimnis initialisieren
handler.handle(body, signature)
##Verhalten der Handle-Methode
#Ausführung der Handle-Methode der WebhookHandler-Klasse
#Führen Sie die Analysemethode der WebhookParser-Klasse aus
#Da der Body Ereignisse enthält, hängen Sie an Ereignisse an und geben Sie Ereignisse zurück
#Schalten Sie Ereignisse mit einer for-Anweisung um
##Verhalten des Dekorateurs
#add Methode wird aufgerufen
#Gibt den Dekorateur zurück
#In diesem Moment,app.Griff in py implementiert_Nachrichtenmethode wird aufgerufen
#In der Dekorationsmethode__add_Die Handler-Methode wird aufgerufen_Handler haben einen Wert
#Die add-Methode der WebhookHandler-Klasse wird dekoriert und der Dekorator wird aufgerufen.
# __add_Handler genannt
##Ich weiß es noch nicht
#Ich weiß nicht, wo die Add-Methode ausgeführt wird
# handle_Ich kann es ausführen, ohne die Nachrichtenmethode aufzurufen, daher weiß ich nicht, wo es in der Handle-Methode ausgeführt wird
Folgendes wird hilfreich sein. Verfahren zum Starten des Flask + SQL Alchemy-Projekts
Aus der Modelldatei wird automatisch eine Migrationsdatei generiert. In meinen eigenen Worten zu Flask-Migrate
Lokal ausführen
#Setzt die Revision der Datenbank auf die als Argument angegebene Revision, ohne die Migration durchzuführen.
$ flask db stamp head
$ flask db migrate
$ flask db upgrade
heroku run FLASK_APP=app.py flask db stamp head
heroku run FLASK_APP=app.py flask db migrate
heroku run FLASK_APP=app.py flask db migrate
Recommended Posts