[PYTHON] J'étais accro à Flask sur dotCloud

Je me demandais où déployer l'application faite avec Flask, et elle est écrite dans Official Deployment Document. J'ai décidé de l'essayer avec Heroku et dotCloud. Donc, Heroku n'avait pas beaucoup de dépendance à Flask dans Documentation, mais j'étais accro à dotCloud, alors j'ai fait une note. Oh, ce n'est pas que Heroku est bon et dotCloud est mauvais! Je souhaite plutôt le faire fonctionner avec dotCloud.

La documentation côté Flask

Deploying WSGI on dotCloudwithFlask-specificnotes

Parce qu'il est écrit, il s'agit d'un WSGI de base et Flask est organisé pour WSGI. En lisant le premier, le travail réel est comme le second.

Cependant, depuis que j'ai fait Heroku en premier, il n'a pas été configuré pour être écrit dans le paquet __init __. Py. Créez un répertoire de packages et déplacez quelque chose comme ʻapp.py vers __init __. Py. Ensuite, écrivez wsgi.py. Si vous n'avez pas spécifié d'approche dans dotcloud.yml, placez wsgi.py` à la racine. Veuillez noter que ceci est différent de l'ancien document. Eh bien, même le premier est au début

Your WSGI callable should be named “application”, be located in a “wsgi.py” file, itself located at the top directory of the service.

Bien qu'il soit écrit, l'approche est spécifiée dans l'explication de procédure suivante.

Donc, cela commence à fonctionner, mais avec cela, l'échantillon s'arrête. L'application que j'essayais de déployer utilisait l'API Twitter, je dois donc mettre la clé. Je ne veux certainement pas mettre la clé dans SCM. Dans Heroku, il a été défini dans config: add. Vous pouvez maintenant le lire depuis os.environ.

Pour dotCloud, utilisez var set. La méthode de spécification était presque la même que Heroku, donc le code reste le même ... mais cela ne fonctionne pas du tout! Si vous lisez attentivement le document, vous devez lire environment.json. J'ai réécrit le code pour le lire d'ici.

Avec cela, j'ai pu l'amener au point où il pouvait bouger. Je n'ai pas encore touché à la partie liée à la base de données.

Je sens que je ne suis pas tellement accro, mais il a résolu la dépendance.

dotcloud logs appname.www

Le point le plus important est que c'était difficile parce que je ne savais pas au début. J'ai découvert que les journaux heroku étaient dans le Tutoriel Python de Heroku, mais dotCloud ne semblait pas l'avoir, donc je dois le trouver moi-même. eu. Il s'agit des journaux de consultation (http://docs.dotcloud.com/guides/logs/) dans les guides de plate-forme à gauche de la documentation. Ça a été beaucoup de progrès depuis que j'ai trouvé ça. En fait, lorsque je l'ai exécuté sans définir de variables d'environnement et que j'ai eu une erreur, cela m'a pris un certain temps sans en connaître la cause. Quand je regarde le journal, c'est comme ça. Si vous êtes bloqué, regardez le journal!

Recommended Posts

J'étais accro à Flask sur dotCloud
J'étais accro à essayer logging.getLogger avec Flask 1.1.x
J'étais accro au multitraitement + psycopg2
J'étais accro à pip installer mysqlclient
Ce que j'étais accro à Python autorun
Une note à laquelle j'étais accro lors de l'émission d'un bip sous Linux
[Introduction à json] Non, j'en étais accro. .. .. ♬
Deux choses dont j'étais accro à la construction de Django + Apache + Nginx sous Windows
J'étais accro à l'exécution de tensorflow sur GPU avec le pilote NVIDIA 440 + CUDA 10.2
Une histoire à laquelle j'étais accro à essayer d'installer LightFM sur Amazon Linux
J'étais accro à ne pas pouvoir utiliser Markdown pour la description longue de pypi
J'étais accro au grattage avec Selenium (+ Python) en 2020
Une histoire à laquelle j'étais accro chez np.where
Ce à quoi j'étais accro lors de l'utilisation de Python tornado
Après avoir implémenté l'application Watson IoT Platform avec Flask, j'étais accro à la connexion MQTT
[IOS] Animation GIF avec Pythonista3. J'en étais accro.
Ce à quoi j'étais accro lorsque l'utilisateur de traitement est passé à Python
[Réparer] J'étais accro au jugement alphanumérique des chaînes Python
Préparation à l'exécution de Flask sur EC2
Mémo (mars 2020) auquel j'étais accro lors de l'installation d'Arch Linux sur MacBook Air 11'Early 2015
Une histoire à laquelle j'étais accro à appeler Lambda depuis AWS Lambda.
Ce à quoi j'étais accro en présentant ALE à Vim pour Python
Ce à quoi j'étais accro avec json.dumps dans l'encodage base64 de Python
Notez que j'étais accro à l'interpolation des valeurs manquantes de sklearn (Imputer)
Une note à laquelle j'étais accro lors de la création d'une table avec SQL Alchemy
J'étais accro aux variables de classe et aux variables d'instance erronées en Python
Lier les applications WAS et FLASK sur docker
Je veux utiliser Linux sur mac
Je souhaite développer des applications Android sur Android
Je veux tweeter Twitter avec Python, mais j'y suis accro
J'étais accro à la création d'un environnement Python venv avec VS Code
Une histoire à laquelle j'étais accro à essayer d'obtenir une URL de vidéo avec tweepy
Utilisez Python de Java avec Jython. J'étais aussi accro.
Le nom du fichier était mauvais en Python et j'étais accro à l'importation
J'étais accro à essayer Cython avec PyCharm, alors prenez note
Connectez-vous lorsque je craignais de ne pas pouvoir me connecter au Wi-Fi sous Linux
Python: j'ai pu récurer en lambda
J'ai touché Flask
Notes sur Flask
Trois choses auxquelles j'étais accro lors de l'utilisation de Python et MySQL avec Docker
AtCoder AGC 041 C - J'étais accro à la recherche complète de Domino Quality
Je veux faire pyenv + pipenv même sous Windows
Je veux enregistrer les entrées / sorties de fichiers sous Linux
Docker x Visualization ne fonctionnait pas et j'en étais accro, alors je l'ai résumé!
Une note à laquelle j'étais accro lors de l'exécution de Python avec Visual Studio Code
Une histoire à laquelle j'étais accro après la communication SFTP avec python
Notez que j'étais accro à la configuration de TensowFlow
J'étais sobrement accro à appeler awscli à partir d'un script Python 2.7 enregistré dans crontab
Notez que j'étais accro au script npm ne passant pas dans l'environnement de vérification
C'était une vie que je voulais faire de l'OCR sur AWS Lambda pour localiser les personnages.
Ce à quoi j'étais accro en combinant l'héritage de classe et l'héritage de table commune dans SQLAlchemy
Les débutants en Python étaient accros à l'enregistrement de leurs propres packages dans PyPI, version de février 2017
Je veux faire la transition avec un bouton sur le ballon
J'ai essayé d'implémenter Mine Sweeper sur un terminal avec python
Je souhaite développer des applications Android sur Android (débogage)
Journal de sortie vers la console avec Flask + Nginx sur Docker
Je veux trouver un package populaire sur PyPi
AttributeError: J'étais accro à l'objet'module 'qui n'a pas d'attribut'MyTestCase'