Installez la version 3.6.8 à partir de pkg [Comment installer à partir du fichier pkg](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.Vérifiez l'emplacement d'installation de 8
$ which python
#Installez python avec brew pour installer pip3
$ brew install python
#installation de virtualenv
$ pip3 install virtualenv
#Créer un environnement virtuel
$ virtualenv --python=/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 env
#Confirmation de version
$ 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.
Comment entrer dans l'environnement virtuel
source bin/activate
Installation de Python3 (version Mac)
--Créer un compte de développeur de ligne --Création d'une chaîne
Suivez les étapes ci-dessous pour passer à "Créer un bot LINE à l'aide de Flask". [Jusqu'à ce que vous implémentiez le bot LINE avec Flask et que vous le déployez sur heroku](https://qiita.com/suigin/items/0deb9451f45e351acf92#%E9%96%8B%E7%99%BA%E7%92%B0%E5 % A2% 83)
Exécutez depuis le début de l'environnement virtuel.
$ source bin/activate
$ pip install flask
$ pip install line-bot-sdk
$ brew cask install ngrok
SDK à utiliser: line-bot-sdk-python Qu'est-ce que le homebrew-cask
pip3 install python-dotenv
Meilleures pratiques pour les fichiers de configuration dans Flask Comment écrire des variables d'environnement que vous ne voulez pas mettre sur [GitHub] Python
Ajoutez ce qui suit à ʻapp.py, accédez au chemin racine et confirmez que
hello world!` S'affiche.
@app.route("/")
def hello_world():
return "hello world!"
commande d'exécution de flacon
flask run --host=0.0.0.0
ngrok
Si vous souhaitez tester la ligne, vous devez entrer l'URL de test dans le webhook.
À ce stade, l'URL de https
est requise, et ngrok
est pratique à ce moment-là.
Vous pouvez publier votre développement local sur https. Veuillez vérifier ci-dessous pour plus de détails. ngrok est trop pratique
Dans un terminal séparé, procédez comme suit
flask run --host=0.0.0.0
ngrok http 5000
Heroku
$ brew install heroku/brew/heroku
#Le navigateur sera affiché, alors connectez-vous ici
$ heroku login
Créez les trois nouveaux
requirements.txt
Utilisez feeze
pour exporter la version que vous êtes actuellement dans l'environnement virtuel vers requirements.txt.
Consultez la liste des packages installés avec Python, pip list / freeze
runtime.txt Décrivez la version Python.
Procfile
web: gunicorn app:app --log-file -
À propos de WSGI Différences entre serveur Web et serveur d'applications dans le développement de Rails (traduction)
Nginx transmet la demande à Unicorn. Unicorn transmet la demande à Rack. Rack transmet la demande au routeur Rails. Le routeur transmet la demande au contrôleur approprié. Ensuite, les réponses sont renvoyées dans l'ordre inverse.
heroku create [nom de l'application]
git push heroku master
#Liste des variables d'environnement
$ heroku config
#Ajouter une variable d'environnement
$ heroku config:set ENV_NAME=value
[Commande Heroku] variable d'environnement
heroku run bash
Collection de commandes Heroku
En implémentant ce qui suit, vous pouvez définir l'action lorsqu'un événement Beacon se produit.
Si vous souhaitez modifier l'événement, modifiez l'argument (BeaconEvent
) de @ handler.add (BeaconEvent)
.
Ainsi, le programme ci-dessous doit décrire comment gérer ** après l'événement. ** **
La condition d'occurrence d'événement est implémentée côté ligne.
#Événement de balise déclenché
@handler.add(BeaconEvent)
def handle_beacon(event):
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text='Hello World'))
L'implémentation ci-dessus utilise un décorateur.
En utilisant un décorateur, vous pouvez ajouter un processus qui s'exécute automatiquement lorsque vous appelez une fonction fournie en tant que bibliothèque. Cité de À propos des décorateurs Python
handler = WebhookHandler(channel_secret)
#Canalisez la classe WebhookHandler_Initialiser avec secret
handler.handle(body, signature)
##comportement de la méthode de poignée
#Exécution de la méthode handle de la classe WebhookHandler
#Exécuter la méthode d'analyse de la classe WebhookParser
#Puisque le corps contient des événements, ajoutez aux événements et renvoyez des événements
#Transformez les événements avec une instruction for
##comportement du décorateur
#La méthode add est appelée
#Décorateur de retours
#En ce moment,app.handle implémenté dans py_la méthode de message est appelée
#Dans la méthode du décorateur__add_La méthode handler est appelée_Il y a une valeur dans les gestionnaires
#La méthode add de la classe WebhookHandler est décorée et le décorateur est appelé.
# __add_Gestionnaire appelé
##Je ne sais pas encore
#Je ne sais pas où la méthode add est exécutée
# handle_Je peux l'exécuter sans appeler la méthode message, donc je ne sais pas où il est exécuté dans la méthode handle
Ce qui suit sera utile. Procédure de démarrage du projet Flask + SQL Alchemy
Il générera automatiquement un fichier de migration à partir du fichier modèle. Dans mes propres mots sur Flask-Migrate
Exécutez localement
#Définit la révision de la base de données sur la révision spécifiée comme argument sans effectuer la migration.
$ 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