GoogleAppEngineでPython アップロード編

2009/10/23 7434hit

前回の日記でプログラムを作る準備が整ったので、
GoogleAppEngine上で実際にPythonのプログラムを実行してみる。

新規プロジェクトの作成


新しいプロジェクトを作成する。
といっても、GoogleAppEngineの新規プロジェクトはフォルダを作成するだけ、
しかも今回はテンプレートを元にお手軽簡単に作ってしまうことにする。

テンプレートはGoogleAppEngineSDKをインストールしたフォルダ内
(標準ならC:\Program Files\Google\google_appengine)
にあるnew_project_templateフォルダに入っている。
テンプレートを使う場合はこのフォルダをコピーすることになる。

今回はマイドキュメントフォルダにGAEというフォルダを作成し、
その中にhelloworldという名前でフォルダをコピーする。
GAEとはGoogleAppEngineの頭文字を取った3文字で、まぁまぁメジャーな略し方みたい。
GoogleAppEngineのプログラムは皆このGAEフォルダにつっこむことにする。

GAE\helloworldフォルダを開くと
app.yaml
index.yaml
main.py
の三つのファイルが有るのが分かる。
それぞれ
app.yamlはプロジェクトの情報が記載
index.yamlは自動的に生成されるので今は気にする必要なし
main.pyは実際の処理が入っている。
テンプレートにはHelloWorldと表示するスクリプトが入っている。
とりあえずこれを動かしてみる。

app.yamlに記載されている内容は以下の通り、
このうち書き換える必要があるのは
application: new-project-templateの部分。
この部分は前回の日記で決めたApplication Identifierの値をセットする。


application: new-project-template
version: 1
runtime: python
api_version: 1

handlers:
- url: .*
script: main.py

ローカルで試しに実行する。


ローカル環境で実行するには
コマンドプロンプトを実行し、カレントフォルダをGAEフォルダに指定して。

dev_appserver.py helloworld

を実行する。
dev_appserver.pyはローカルに簡易サーバーを立ててプロジェクトを実行するスクリプトで
実体はGoogleAppEngineSDKのフォルダに入っている。
GoogleAppEngineインストール時にインストーラがGoogleAppEngineSDKのフォルダへPathを通してくれているはずなので、フォルダ名を記入せずともdev_appserver.pyと打つだけで使える。
エラーが出る場合は環境変数のPathにGoogleAppEngineのパスが通っているか確認しよう。
パラメータとして、プロジェクト名(GAE内のフォルダ名)を指定する。

初回起動時に
Allow dev_appserver to check for updates on startup? (Y/n):
と表示されるのでYを指定しEnter
Running application プロジェクト名 on port 8080: http://localhost:8080
と表示されたら、インターネットブラウザでhttp://localhost:8080にアクセスする。
ブラウザで無事に動くことを確認できたら成功。
コマンドプロンプト上でCtrl+Cを押すと終了する。

GoogleAppEngineで実行する。


ローカルで無事に動く事が確認できたらサーバーへアップロードする。
これもとっても簡単。

ローカルで実行したときと同様
コマンドプロンプトを実行し、カレントフォルダをGAEフォルダに指定する。
次に

appcfg.py update helloworld

を実行する。
Email:と表示されたらGoogleAppEngineのアカウントを入力してエンター
Password for アカウントと表示されたらGoogleAppEngineのパスワードを入力してエンター

このとき、パスワードを入力しても画面上反映されないがちゃんと値は入っているので気にせずにタイプする。

あとは待っていれば勝手にアップロードされる。
プログラムは
http://プログラムID.appspot.com/
で実行できる。

ちなみに、今回アップロードしたプログラムは
http://1.latest.firespeed-kenz.appspot.com/
で実行できるよ。

プログラムの話しは次回

前:GoogleAppEngineでPython 準備編 次: GoogleAppEngineでPython 解析編

関連キーワード

[Python][IT]

コメントを投稿する