[Python + heroku] De l'état sans Python à l'affichage de quelque chose avec heroku (Partie 1)

Qu'est-ce que c'est?

Article d'introduction sur heroku Je vois souvent ruby et node.js sur OSX. Non.

--En Python --Sur Win7

Commençons par un tel endroit. Comme objectif, je ne vais pas aux applications ou à quelque chose comme ça. Jusqu'à ce que quelque chose soit affiché.

documentation d'introduction officielle de heroku Python https://devcenter.heroku.com/articles/getting-started-with-python C'est aussi un mémo d'expérience (cependant, je ne mange que les pièces dont je pense avoir besoin).


Installation

Installation de Python

Téléchargez-le ici et installez-le.

https://www.python.org/downloads/

heroku02.png

Ici, j'ai mis 2.7.11 qui était le dernier en 2 séries à ce moment. (Pour CG, je pense qu'il est préférable de faire correspondre la version avec Python dans l'outil principal. Ici, je me suis précipité sans y penser. Puis j'ai pensé plus tard que je mettrais en 3 séries)

Passer par PATH

Ajoutez-le à la variable d'environnement Windows PATH.

C:\Python27;C:\Python27\Scripts;

En fait, cette fois, j'ai oublié de faire ça à mi-chemin et je l'ai rendu normal (?) Du milieu. Donc, à mi-chemin, cela peut inclure des erreurs qui ne se sont pas produites lorsque vous avez fait cela pour la première fois. Il peut ne pas être inclus.

Si vous voulez l'ajouter avec une commande, c'est setx

python


> setx /?

Il y a trois façons d'utiliser SetX:

Syntaxe 1:
    SETX [/Système S[/U [domaine\]utilisateur[/P [mot de passe]]]]Valeur variable[/M]

Syntaxe 2:
    SETX [/Système S[/U [domaine\]utilisateur[/P [mot de passe]]]]
variable/Chemin du registre K[/M]

Syntaxe 3:
    SETX [/Système S[/U [domaine\]utilisateur[/P [mot de passe]]]]
         /Dossier F{variable{/A x,y | /R x,chaîne y}[/M] | /X} [/Délimiteur D]

La description:
Créer des variables d'environnement ou créer des variables d'environnement dans l'environnement utilisateur ou système
changement. Arguments, clés de registre ou entrée de fichier
Vous pouvez définir des variables en fonction de celui-ci.
(Omission)

virtualenv Vous avez dit que vous aviez besoin de virtualenv, alors je vais le mettre.

python


Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.

>>> import pip
>>> pip.main(["list"])
pip (7.1.2)
setuptools (18.2)
0

>>> pip.main(["install","virtualenv"])
Collecting virtualenv
  Downloading virtualenv-13.1.2-py2.py3-none-any.whl (1.7MB)
    100% |################################| 1.7MB 271kB/s
Installing collected packages: virtualenv
Successfully installed virtualenv-13.1.2
0
>>>

Vous pouvez généralement utiliser pip install virtualenv, mais Ici via le module pip de Python.

installation heroku

Il existe un programme d'installation appelé ** heroku Toolbelt ** qui contient heroku et un ensemble d'outils associés.

https://toolbelt.heroku.com/

Le contenu est git et ruby. heroku01.png

↓ Il sera installé à cet emplacement et ajouté à votre PATH.

Technical details

The heroku client will be installed into C:\Program Files\Heroku and will be added to your %PATH%.

Au moment de l'installation, avez-vous attendu un moment au dernier git? Ce sera le cas, mais vous n'avez pas à avoir peur.

git À ce stade, git est également inclus. Je vais vérifier. Avec des problèmes émotionnels.

git -h.

git-h


C:\Users\{user}>git -h
Unknown option: -h
usage: git [--version] [--help] [-C <path>] [-c name=value]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

HM.

getting-started Suivez la procédure ci-dessous.

https://devcenter.heroku.com/articles/getting-started-with-python

heroku Immédiatement après l'installation de Toolbelt "Une fois installé, vous pouvez l'utiliser avec la commande heroku!" Cela dit quelque chose comme Quoi qu'il en soit, je l'ai vu et exécuté innocemment avec «heroku». Fait.

Puis quelque chose comme l'initialisation a couru, J'attends depuis un moment à cause de l'ajout de dépendances ou quelque chose. Attendons. J'étais bouleversé parce que je pensais avoir fait quelque chose de mal. Je n'ai pas à attendre une minute. Chaque fois que j'attends dans un endroit inattendu, j'ai peur. À cause d'une petite personne

D'ailleurs, dans le journal à ce moment, la fenêtre se fermait automatiquement une fois l'initialisation terminée. Il n'y en a pas (Parce qu'il a été ouvert avec win key> heroku)

Se connecter

connexion heroku Il vous sera alors demandé l'adresse e-mail et le mot de passe de votre compte heroku.

python


Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\{user}>heroku login
Enter your Heroku credentials.
Email: [email protected]
Password (typing will be hidden):
Logged in as [email protected]

Oui. On dirait.

Confirmation de version

heroku version

python


C:\Users\{user}>heroku version
heroku/toolbelt/3.42.29 (i386-mingw32) ruby/2.1.7
heroku-cli/4.27.13-9dddf39 (386-windows) go1.5.3
=== Installed Plugins
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

Je continue en lisant ceci (▼)

http://developers.mobage.jp/blog/how-to-use-for-beginners-heroku

C'est le contenu écrit dans [2] là-bas.

Préparation de l'emplacement de l'application de test

Créez un dossier que vous souhaitez utiliser comme atelier cette fois et déplacez-le.

python


C:\Users\{user}>cd C:\Users\{user}\Documents\path\to\heroku_proj

C:\Users\{user}\Documents\path\to\heroku_proj>mkdir testapp

C:\Users\{user}\Documents\path\to\heroku_proj>cd testapp

C:\Users\{user}\Documents\path\to\heroku_proj\testapp>

Obtenez un exemple Heroku Python

Vous obtiendrez ** python-getting-started ** publié sur github. git clone https: // github.com / heroku / python-getting-started.git

python


C:\Users\{user}\Documents\path\to\heroku_proj\testapp>git clone https://github.com/heroku/python-getting-started.git
Cloning into 'python-getting-started'...
remote: Counting objects: 204, done.
emote: Total 204 (delta 0), reused 0 (delta 0), pack-reused 204Receiving objects
Receiving objects:  75% (153/204)
Receiving objects: 100% (204/204), 32.17 KiB | 0 bytes/s, done.
Resolving deltas: 100% (91/91), done.
Checking connectivity... done.

Puis déplacez-vous avec cd

python


C:\Users\{user}\Documents\path\to\heroku_proj\testapp>cd python-getting-started

C:\Users\{user}\Documents\path\to\heroku_proj\testapp\python-getting-started>

À partir de maintenant, veuillez comprendre que toutes les commandes sont exécutées à partir de C: \ Users \ {user} \ Documents \ path \ to \ heroku_proj \ testapp \ python-getting-started>.

Créer une application heroku

Imakoko

https://devcenter.heroku.com/articles/getting-started-with-python#deploy-the-app

heroku create.

python


>heroku create

Creating app... done, stack is cedar-14
https://ancient-taiga-0000.herokuapp.com/ | https://git.heroku.com/ancient-taiga-0000.git

** Qu'est-ce que la taïga ancienne 0000? ** ** Est-ce un terme de cuisine soudain? Je pense, mais si vous ne décidez pas du nom lors de la création, il semble que ** il le nommera automatiquement **. Est-ce que ça va parce que c'est un test?

Si vous le nommez correctement heroku create your-app-name de cette façon. Ou vous pouvez vous connecter à heroku via un navigateur et changer à partir de là (pas fait)

Déployer

Voici une expérience git soudaine.

git push heroku master

Cela prend environ 1 à 2 minutes.

python


>git push heroku master
Counting objects: 204, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (98/98), done.
Writing objects: 100% (204/204), 32.16 KiB | 0 bytes/s, done.
Total 204 (delta 91), reused 204 (delta 91)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Python app detected
remote: -----> Installing runtime (python-2.7.11)
remote: -----> Installing dependencies with pip
remote:        Collecting dj-database-url==0.3.0 (from -r requirements.txt (line 1))
remote:        Downloading dj_database_url-0.3.0-py2.py3-none-any.whl
remote:        Collecting Django==1.9.1 (from -r requirements.txt (line 2))
remote:        Downloading Django-1.9.1-py2.py3-none-any.whl (6.6MB)
remote:        Collecting gunicorn==19.4.5 (from -r requirements.txt (line 3))
remote:        Downloading gunicorn-19.4.5-py2.py3-none-any.whl (112kB)
remote:        Collecting psycopg2==2.6.1 (from -r requirements.txt (line 4))
remote:        Downloading psycopg2-2.6.1.tar.gz (371kB)
remote:        Collecting whitenoise==2.0.6 (from -r requirements.txt (line 5))
remote:        Downloading whitenoise-2.0.6-py2.py3-none-any.whl
remote:        Installing collected packages: dj-database-url, Django, gunicorn, psycopg2, whitenoise
remote:        Running setup.py install for psycopg2
remote:        Successfully installed Django-1.9.1 dj-database-url-0.3.0 gunicorn-19.4.5 psycopg2-2.6.1 whitenoise-2.0.6
remote:
remote: -----> Preparing static assets
remote:        Running collectstatic...
remote:        Post-processed 'admin/js/vendor/xregexp/LICENSE-XREGEXP.txt' as 'admin/js/vendor/xregexp/LICENSE-XREGEXP.d64cecf4f157.txt'
(Omis)
remote:        Post-processed 'lang-logo.png' as 'lang-logo.019c8743b7cf.png'
remote:        58 static files copied to '/app/staticfiles', 58 post-processed.
remote:
remote: -----> Discovering process types
remote:        Procfile declares types -> web
remote:
remote: -----> Compressing... done, 42.1MB
remote: -----> Launching...
remote:        Released v4
remote:        https://ancient-taiga-0000.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy.... done.
To https://git.heroku.com/ancient-taiga-0000.git
 * [new branch]      master -> master

>

** requirements.txt ** est placé dans python-getting-started, Au cours du processus ci-dessus, il est lu et installé avec pip.

Ensuite, heroku ps: scale web = 1.

python


>heroku ps:scale web=1
Scaling dynos... done, now running web at 1:Free.

de heroku open

python


>heroku open
Opening ancient-taiga-0000... done

Ensuite, le navigateur sera lancé et l'application (ici * Ancient-taiga-0000.herokuapp.com *) sera ouverte.

Hmm.


Jusque là

--Préparation --Faire une application heroku --Déployez et exécutez sur heroku

J'ai pu expérimenter ...


Afficher le journal

Imakoko

https://devcenter.heroku.com/articles/getting-started-with-python#view-logs

heroku logs --tail

Si vous ajoutez --tail, les logs seront acquis de plus en plus en temps réel. Lors de l'arrêt, Ctl + C

python


>heroku logs --tail
2016-01-17T13:37:24.947150+00:00 heroku[api]: Enable Logplex by [email protected]
2016-01-17T13:37:24.947150+00:00 heroku[api]: Release v2 created by [email protected]
2016-01-17T13:40:12.180138+00:00 heroku[api]: Attach DATABASE resource by [email protected]
2016-01-17T13:40:12.180177+00:00 heroku[api]: Release v3 created by [email protected]
2016-01-17T13:40:12.470201+00:00 heroku[api]: Scale to web=1 by [email protected]
2016-01-17T13:40:12.529336+00:00 heroku[api]: Deploy fe7f948 by [email protected]
2016-01-17T13:40:12.529336+00:00 heroku[api]: Release v4 created by [email protected]
2016-01-17T13:40:12.842955+00:00 heroku[slug-compiler]: Slug compilation started
2016-01-17T13:40:12.842964+00:00 heroku[slug-compiler]: Slug compilation finished
2016-01-17T13:40:15.096972+00:00 heroku[web.1]: Starting process with command `gunicorn gettingstarted.wsgi --log-file -`
2016-01-17T13:40:16.642246+00:00 app[web.1]: [2016-01-17 13:40:16 +0000] [3] [INFO] Listening at: http://0.0.0.0:10178 (3)
2016-01-17T13:40:16.642313+00:00 app[web.1]: [2016-01-17 13:40:16 +0000] [3] [INFO] Using worker: sync
2016-01-17T13:40:16.640646+00:00 app[web.1]: [2016-01-17 13:40:16 +0000] [3] [INFO] Starting gunicorn 19.4.5
2016-01-17T13:40:16.645613+00:00 app[web.1]: [2016-01-17 13:40:16 +0000] [9] [INFO] Booting worker with pid: 9
2016-01-17T13:40:16.684880+00:00 app[web.1]: [2016-01-17 13:40:16 +0000] [10] [INFO] Booting worker with pid: 10
2016-01-17T13:40:17.171330+00:00 heroku[web.1]: State changed from starting to up
(ry
2016-01-17T13:45:25.167623+00:00 app[web.1]: Not Found: /favicon.ico

Si vous essayez d'arrêter avec ctl + c, vous verrez ce qui suit

python


 !    Command cancelled.
Voulez-vous mettre fin au travail par lots(Y/N)? y

>

Procfile Imakoko

https://devcenter.heroku.com/articles/getting-started-with-python#define-a-procfile

Il est placé directement sous "Getting-started-with-python" qui a été cloné par git. Je voudrais en savoir plus sur ** Procfile file **.

Sur github, ce

https://github.com/heroku/python-getting-started/blob/master/Procfile

Dans l'état initial, le contenu est comme ça web: gunicorn gettingstarted.wsgi --log-file -

Il semble que vous écrivez clock: ~~ lorsque vous voulez qu'heroku le traite automatiquement. C'est un fichier qui écrit de tels paramètres.

ps Imakoko

https://devcenter.heroku.com/articles/getting-started-with-python#scale-the-app

heroku ps, essayez-le.

python


>heroku ps
=== web (Free): gunicorn gettingstarted.wsgi --log-file -
web.1: up 2016/01/17 22:40:17 (~ 18m ago)

>

heroku run ~~

Il semble que quelque chose puisse être fait avec heroku run ~~

python


>heroku run
 !    Usage: heroku run COMMAND
 !
 !    Example: heroku run bash

>

J'ai besoin de quelque chose après "run". .. .. Au fait, je n'ai pas aidé heroku depuis que j'ai commencé à travailler dessus, alors je vais l'essayer ici.

python


>heroku -h
Usage: heroku COMMAND [--app APP] [command-specific-options]

Primary help topics, type "heroku help TOPIC" for more details:

  addons    #  manage add-on resources
  apps      #  manage apps (create, destroy)
  auth      #  authentication (login, logout)
  config    #  manage app config vars
  domains   #  manage domains
  logs      #  display logs for an app
  ps        #  manage dynos (dynos, workers)
  releases  #  manage app releases
  run       #  run one-off commands (console, rake)
  sharing   #  manage collaborators on an app

Additional topics:

  2fa          #  manage two-factor authentication settings
  buildpacks   #  manage the buildpack for an app
  certs        #  manage ssl endpoints for an app
  drains       #  display drains for an app
  features     #  manage optional features
  fork         #  clone an existing app
  git          #  manage local git repository for app
  help         #  list commands and display help
  keys         #  manage authentication keys
  labs         #  manage optional features
  local        #  run heroku app locally
  login        #  Login with your Heroku credentials.
  maintenance  #  manage maintenance mode for an app
  members      #  manage membership in organization accounts
  orgs         #  manage organization accounts
  pg           #  manage heroku-postgresql databases
  pgbackups    #  manage backups of heroku postgresql databases
  plugins      #  manage plugins to the heroku gem
  regions      #  list available regions
  spaces       #  manage heroku private spaces
  stack        #  manage the stack for an app
  status       #  Status of Heroku Platform
  twofactor    #  manage two-factor authentication settings
  update       #  update the heroku client
  version      #  display version

Vérifiez les informations de l'application heroku

Listez vos applications heroku apps

>heroku apps
=== My Apps
ancient-taiga-0000

Bien sûr, il n'y en a qu'un à l'heure actuelle.

heroku apps:info

>heroku apps:info
=== ancient-taiga-0000
Addons:        heroku-postgresql:hobby-dev
Dynos:         web: 1
Git URL:       [email protected]:ancient-taiga-0000.git
Owner:         [email protected]
Region:        us
Repo Size:     36 kB
Slug Size:     42 MB
Stack:         cedar-14
Web URL:       https://ancient-taiga-0000.herokuapp.com/

Vous pouvez vérifier le type de module complémentaire que vous utilisez et l'URL d'accès. En parlant de cela, ** La région, c'est nous **.

Confirmation du plug-in

heroku plugins

python


>heroku plugins
=== Installed Plugins
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

Confirmation du module complémentaire

heroku addons

>heroku addons

Add-on                                           Plan       Price
───────────────────────────────────────────────  ─────────  ──
───
heroku-postgresql (postgresql-dimensional-7392)  hobby-dev  free
 └─ as DATABASE

The table above shows add-ons and the attachments to the current app (ancient-taiga-0000) or other apps.

Ouvrez la page de l'add-on

>heroku addons:open heroku-postgresql
Opening heroku-postgresql (postgresql-dimensional-7392) for ancient-taiga-0000... done

Ensuite, cela a été ouvert ↓

https://postgres.heroku.com/databases

[email protected] does not exist or cannot be accessed by this account 

Est-ce vrai.

ajouter et vérifier le compte

À propos, certains modules complémentaires ne seront pas installés à moins que vous ne vérifiiez votre compte. En bref, veuillez enregistrer vos informations de paiement (carte de crédit) Il paraît que.

※référence: Créez un service Twitter ToDo avec Unfiltered + Heroku (essayez d'utiliser le module complémentaire heroku, le fichier de configuration et la mise à l'échelle) @ Mei Noshi http://mao-instantlife.hatenablog.com/entry/20120310/1331388396

Si vous ignorez l'enregistrement des informations de paiement et essayez d'ajouter un module complémentaire, vous vous comporterez ainsi. verify.png

Je le savais!

divulguer des renseignements

heroku releases

>heroku releases
=== ancient-taiga-0000 Releases
v4  Deploy fe7f948            [email protected]  2016/01/17 22:40:12 (~ 2h ago)
v3  Attach DATABASE resource  [email protected]  2016/01/17 22:40:12 (~ 2h ago)
v2  Enable Logplex            [email protected]  2016/01/17 22:37:24 (~ 2h ago)
v1  Initial release           [email protected]  2016/01/17 22:37:24 (~ 2h ago)

Afficher les préférences

heroku config

>heroku config
=== ancient-taiga-0000 Config Vars
DATABASE_URL: postgres://abcdefghijklmn:GaEMJZBYWhqmI9xXOOudegwpxf@ec2-54-83-61-45.compute-1.amazonaws.com:5432/d7vc7kpol1v9vn

Suivant

Ça fait longtemps, donc une fois. ~~ Si vous pouvez écrire la seconde moitié, je vais coller le lien ~~> J'ai écrit la seconde moitié

http://qiita.com/it_ks/items/ca6c7f6e8fc89e49e46d

Recommended Posts

[Python + heroku] De l'état sans Python à l'affichage de quelque chose avec heroku (Partie 1)
[Python + heroku] De l'état sans Python à l'affichage de quelque chose avec heroku (partie 2)
Comment déployer Pybot, le manuel Python le plus simple, sur Heroku
J'ai essayé de changer le script python de 2.7.11 à 3.6.0 sur Windows10
Introduction à Python Hands On Partie 1
Mettre à jour Mac Python de 2 à 3
Déployer l'application Django sur Heroku [Partie 2]
Déployer l'application Django sur Heroku [Partie 1]
J'ai fait quelque chose avec python qui NOW LOADING se déplace de gauche à droite sur le terminal
Connexion de python à MySQL sur CentOS 6.4
Faites quelque chose régulièrement de Heroku à Shotgun
[IBM Cloud] J'ai essayé d'accéder à la table Db2 on Cloud à partir de Cloud Funtions (python)
[Python] Comment supprimer les valeurs en double de la liste
Le mur lors du passage du service Django de Python 2.7 à la série Python 3
Réfléchissez à la programmation de Python sur votre iPad
De l'état initial de CentOS8 à l'exécution de php python perl ruby avec nginx
Changements de Python 3.0 à Python 3.5
Étapes pour installer le dernier Python sur votre Mac
Comment télécharger avec Heroku, Flask, Python, Git (Partie 3)
J'ai essayé python pour la première fois avec heroku
Je voulais utiliser la bibliothèque Python de MATLAB
Trouvez la partie 575 de Wikipedia en Python
J'ai essayé d'envoyer des courriels depuis sendgrid régulièrement avec heroku, avec python
Comment télécharger avec Heroku, Flask, Python, Git (Partie 1)
Comment passer des arguments lors de l'appel d'un script python depuis Blender sur la ligne de commande
Comment télécharger avec Heroku, Flask, Python, Git (Partie 2)
Comment profiter de Python sur Android !! Programmation en déplacement !!
Tutoriel "Cython" pour rendre Python explosif: Passez un objet de classe C ++ à un objet de classe côté Python. Partie ①
Comment connaître le nombre de GPU de python ~ Remarques sur l'utilisation du multitraitement avec pytorch ~
Comment exécuter Python sous Windows sans polluer autant que possible l'environnement (édition Scoop)
[Partie 4] Utilisez le Deep Learning pour prévoir la météo à partir d'images météorologiques
[Partie 1] Utilisez le Deep Learning pour prévoir la météo à partir d'images météorologiques
[Partie 3] Utilisez le Deep Learning pour prévoir la météo à partir d'images météorologiques
[Hyperledger Iroha] Remarques sur l'utilisation du SDK Python
Ne perdez pas contre Ruby! Comment exécuter Python (Django) sur Heroku
[Part.2] Exploration avec Python! Cliquez sur la page Web pour vous déplacer!
[Partie 2] Utilisez le Deep Learning pour prévoir la météo à partir d'images météorologiques
Enregistrer des images sur le Web sur un lecteur avec Python (Colab)
Programme pour juger si c'est une année calme du calendrier occidental [Python]
Aller au langage pour voir et se souvenir de la partie 8 Appeler le langage GO à partir de Python
Transmettez les données OpenCV de la bibliothèque C ++ d'origine à Python
Extraire la valeur la plus proche d'une valeur à partir d'un élément de liste en Python
Publier de Python vers Slack
Flirter de PHP à Python
Anaconda mis à jour de 4.2.0 à 4.3.0 (python3.5 mis à jour vers python3.6)
Mettez à jour le python que vous aviez sur votre Mac à 3.7-> 3.8
Passer de python2.7 à python3.6 (centos7)
Connectez-vous à sqlite depuis python
Comment créer facilement un environnement où le code Python peut s'exécuter sur Jupyter sans polluer l'environnement local
À propos de l'erreur que j'ai rencontrée en essayant d'utiliser Adafruit_DHT à partir de Python sur Raspberry Pi
L'histoire selon laquelle la version de python 3.7.7 n'était pas adaptée à Heroku
Le record auquel j'étais accro en mettant MeCab dans Heroku
Comment reconstruire l'environnement python à partir de pyenv dans un environnement Mac (El Capitan)
Comment obtenir des abonnés et des abonnés de Python à l'aide de l'API Mastodon
Précautions lors de l'exécution de Python sur EC2 à partir d'AWS Lambda (Exécuter la commande)
Utilisez python sur Raspberry Pi 3 pour éclairer la LED (Hello World)
Installation à partir des sources de python, numpy, scipy sans privilèges root sur Linux
Association de terminal du côté serveur à Amazon SNS (python + boto3)
La route pour installer Python et Flask sur un PC hors ligne