Python, AtCoder, BFS [Python + Heroku] Vom Zustand ohne Python bis zur Anzeige von etwas mit Heroku (Teil 1) Was ist das? In Heroku-Einführungsartikeln sehe ich unter OSX oft ruby und node.js. Nicht so.
Beginnen wir an einem solchen Ort. Als Ziel gehe ich nicht zu Apps oder Ähnlichem. Bis etwas angezeigt wird.
Heroku offizielle Python-Einführungsdokumentation https://devcenter.heroku.com/articles/getting-started-with-python Es ist auch ein Erfahrungsprotokoll von (ich esse jedoch nur die Teile, die ich für nötig halte).
Laden Sie es hier herunter und installieren Sie es.
https://www.python.org/downloads/
Hier habe ich 2.7.11 eingefügt, was zu diesem Zeitpunkt das neueste in 2 Serien war. (Wenn es sich um ein CG-System handelt, ist es meiner Meinung nach besser, die Version mit Python im Hauptwerkzeug abzugleichen. Hier eilte ich, ohne darüber nachzudenken. Dann dachte ich später, dass ich in 3 Serien setzen würde)
Fügen Sie es der Windows-Umgebungsvariablen PATH hinzu.
C:\Python27;C:\Python27\Scripts;
Eigentlich habe ich diesmal vergessen, dies auf halbem Weg zu tun und es von der Mitte aus normal gemacht (?). Auf halbem Weg kann es also Fehler geben, die nicht aufgetreten sind, als Sie dies zum ersten Mal getan haben. Es kann nicht enthalten sein.
Wenn Sie es mit einem Befehl hinzufügen möchten, ist es "setx"
python
> setx /?
Es gibt drei Möglichkeiten, SetX zu verwenden:
Syntax 1:
SETX [/S-System[/U [Domain\]Nutzer[/P [Passwort]]]]Variabler Wert[/M]
Syntax 2:
SETX [/S-System[/U [Domain\]Nutzer[/P [Passwort]]]]
Variable/K Registrierungspfad[/M]
Syntax 3:
SETX [/S-System[/U [Domain\]Nutzer[/P [Passwort]]]]
/F-Datei{Variable{/A x,y | /R x,y string}[/M] | /X} [/D Trennzeichen]
Erläuterung:
Erstellen Sie Umgebungsvariablen oder Umgebungsvariablen in der Benutzer- oder Systemumgebung
Veränderung. Argumente, Registrierungsschlüssel oder Dateieingabe
Sie können darauf basierend Variablen festlegen.
(Unterlassung)
virtualenv Du hast gesagt, dass du virtualenv brauchst, also werde ich es einfügen.
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
>>>
Sie können normalerweise "pip install virtualenv" verwenden, aber Hier über Pythons Pip-Modul.
Es gibt ein Installationsprogramm namens ** heroku Toolbelt **, das Heroku und eine Reihe damit verbundener Tools enthält.
https://toolbelt.heroku.com/
Der Inhalt ist Git und Rubin.
↓ Es wird an dieser Stelle installiert und Ihrem PFAD hinzugefügt.
Technical details
The heroku client will be installed into C:\Program Files\Heroku and will be added to your %PATH%.
Haben Sie zum Zeitpunkt der Installation beim letzten Git eine Weile gewartet? Es wird sein, aber Sie müssen keine Angst haben.
git Zu diesem Zeitpunkt ist auch Git enthalten. Ich werde es prüfen. Mit emotionalen Problemen.
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 Befolgen Sie diese Prozedur unten.
https://devcenter.heroku.com/articles/getting-started-with-python
heroku Unmittelbar nach der Installation von Toolbelt "Einmal installiert, können Sie es mit dem Befehl" heroku "verwenden!" Es sagt so etwas wie Wie auch immer, ich habe es gesehen und es unschuldig mit "Heroku" ausgeführt. Hat.
Dann lief so etwas wie Initialisierung, Ich habe eine Weile gewartet, weil ich Abhängigkeiten hinzugefügt habe oder so. Lass uns warten. Ich war verärgert, weil ich dachte, ich hätte etwas falsch gemacht. Ich muss keine Minute warten. Jedes Mal, wenn ich an einem unerwarteten Ort warte, bekomme ich Angst. Wegen einer kleinen Person
Übrigens wurde im Protokoll zu diesem Zeitpunkt das Fenster nach Abschluss der Initialisierung automatisch geschlossen. Da ist gar nichts (Weil es mit Win Key> Heroku geöffnet wurde)
Heroku Login
Sie werden dann nach der E-Mail-Adresse und dem Passwort Ihres Heroku-Kontos gefragt.
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]
Ja. Es sieht aus wie.
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]
Ich fahre fort, während ich dies lese (▼)
http://developers.mobage.jp/blog/how-to-use-for-beginners-heroku
Es ist der Inhalt, der dort in [2] geschrieben ist.
Erstellen Sie einen Ordner, den Sie dieses Mal als Workshop verwenden möchten, und verschieben Sie ihn.
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>
Sie werden ** Python-Getting-Started ** auf Github veröffentlicht.
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.
Bewegen Sie sich dann mit 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>
Bitte haben Sie von nun an Verständnis dafür, dass alle Befehle von C: \ Users \ {user} \ Documents \ path \ to \ heroku_proj \ testapp \ python-Getting-Start> ausgeführt werden.
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
** Was ist Ancient-Taiga-0000? ** ** ** Ist es ein plötzlicher Küchenbegriff? Ich denke, aber wenn Sie den Namen beim Erstellen nicht festlegen, scheint es, dass ** es automatisch benannt wird **. Ist es okay, weil es ein Test ist?
Wenn Sie es richtig benennen
heroku create your-app-name
auf diese Weise.
Oder Sie können sich über einen Browser bei heroku anmelden und von dort aus wechseln (nicht abgeschlossen).
Hier ist eine plötzliche Git-Erfahrung.
git push heroku master
Es dauert ungefähr 1-2 Minuten.
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'
(Weggelassen)
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
>
** require.txt ** befindet sich in Python-Getting-Started, Während des obigen Vorgangs wird es gelesen und mit pip installiert.
Dann "heroku ps: scale web = 1".
python
>heroku ps:scale web=1
Scaling dynos... done, now running web at 1:Free.
von
heroku open
python
>heroku open
Opening ancient-taiga-0000... done
Dann wird der Browser gestartet und die App (hier * old-taiga-0000.herokuapp.com *) geöffnet.
Hmm.
Bisher
--Vorbereitung
Ich konnte erleben ...
Imakoko
https://devcenter.heroku.com/articles/getting-started-with-python#view-logs
heroku logs --tail
Wenn Sie "--tail" hinzufügen, werden Protokolle immer mehr in Echtzeit erfasst. Beim Anhalten "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
Wenn Sie versuchen, mit ctl + c zu stoppen, wird Folgendes angezeigt
python
! Command cancelled.
Möchten Sie den Stapeljob beenden?(Y/N)? y
>
Procfile Imakoko
https://devcenter.heroku.com/articles/getting-started-with-python#define-a-procfile
Es wird direkt unter "Erste Schritte mit Python" platziert, das git-geklont wurde. Ich würde gerne etwas über ** Procfile-Datei ** erfahren.
Auf Github das
https://github.com/heroku/python-getting-started/blob/master/Procfile
Im Ausgangszustand ist der Inhalt so
web: gunicorn gettingstarted.wsgi --log-file -
Es scheint, dass Sie "clock: ~~" schreiben, wenn Sie möchten, dass Heroku es automatisch verarbeitet. Es ist eine Datei, die solche Einstellungen schreibt.
ps Imakoko
https://devcenter.heroku.com/articles/getting-started-with-python#scale-the-app
heroku ps
, probier es aus.
python
>heroku ps
=== web (Free): gunicorn gettingstarted.wsgi --log-file -
web.1: up 2016/01/17 22:40:17 (~ 18m ago)
>
heroku run ~~
Es scheint, dass etwas mit "Heroku Run ~~" gemacht werden kann
python
>heroku run
! Usage: heroku run COMMAND
!
! Example: heroku run bash
>
Ich brauche etwas nach dem "Laufen". .. .. Übrigens habe ich Heroku nicht geholfen, seit ich angefangen habe, daran zu arbeiten, also werde ich es hier versuchen.
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
Listen Sie Ihre Apps auf
heroku apps
>heroku apps
=== My Apps
ancient-taiga-0000
Natürlich gibt es derzeit nur einen.
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/
Sie können überprüfen, welche Art von Add-On Sie verwenden und die URL für den Zugriff. Apropos, ** Region sind wir **.
heroku plugins
python
>heroku plugins
=== Installed Plugins
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
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.
Öffnen Sie die Seite des Add-Ons
>heroku addons:open heroku-postgresql
Opening heroku-postgresql (postgresql-dimensional-7392) for ancient-taiga-0000... done
Dann wurde dies ↓ geöffnet
https://postgres.heroku.com/databases
[email protected] does not exist or cannot be accessed by this account
Ist das so.
Übrigens werden einige Add-Ons erst installiert, wenn Sie Ihr Konto überprüfen. Kurz gesagt, bitte registrieren Sie Ihre Zahlungsinformationen (Kreditkarte) Es scheint, dass.
※Referenz: Erstellen Sie einen Twitter ToDo-Dienst mit Unfiltered + Heroku (versuchen Sie es mit dem Heroku-Add-on, der Einstellungsdatei und Scalate) @ Mei Noshi http://mao-instantlife.hatenablog.com/entry/20120310/1331388396
Wenn Sie die Registrierung der Zahlungsinformationen überspringen und versuchen, ein Add-On hinzuzufügen, verhalten Sie sich wie folgt.
Ich wusste es!
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)
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
Es ist lange her, also einmal. ~~ Wenn du die zweite Hälfte schreiben kannst, werde ich den Link einfügen ~~> Ich habe die zweite Hälfte geschrieben
http://qiita.com/it_ks/items/ca6c7f6e8fc89e49e46d
Recommended Posts