Google App Engine 野望再び~ PyDevの再導入からアプリケーションの登録まで
昨年の9月以来、約10ヶ月ぶりにGAE Pythonに戻ってきた。
Antで、GAE Python用のウェブサーバーを起動させたりしていたが、心機一転環境を作り直したら、PyDev が、その辺のところに対応しているではないですか。
以下、手順。
Pythonのインストール、Eclipse 3.4 のインストール、Pydevのインストールは済ませて、以下の手順で、GAE用のプロジェクトを作成できる。
1. File – New – Other から、Pydev Google App Engine Projectを選択
2. プロジェクト名等を設定して Next
3. ここで、Google App Engine SDK for Python のインストールパスを指定する
4. アプリケーションのID(おそらくGAEに登録したAppのIDだろう)と、テンプレートを選択(Hello Webapp World にしとくとGAE用のコードが生成される)
5. そのまま動かしてみる。ファイルのコンテキストメニューから、Debug As – Debug Configurations を選択
6. Google App Engine の 開発用Webサーバーの指定をするのだが、ここでちょっとはまった。
Main Moduleに開発用Webサーバーを指定するのだが、ブラウズボタンでは一向に指定できない!
C:\Program Files\Google\google_appengine\dev_appserver.py
7. Arguments タブを選択し、Program arguments に、プロジェクトの場所を指定
"${project_loc}/src" |
8. Apply、Debug 押下でサーバーが起動するので、http://localhost:8080 にアクセス
無事起動された!
9. プロジェクトの登録
では、その勢いで、デプロイしてみる。コマンドプロンプトから、appcfg.py update を実行
C:\Program Files\Google\google_appengine>appcfg.py update "C:\Program Files\eclipse3.4R2\workspace\typea-test\src" C:\Program Files\Google\google_appengine\appcfg.py:40: DeprecationWarning: the sha module is deprecated; use the hashlib module instead DIR_PATH,Scanning files on local disk. Initiating update. Email: pppiroto@gmail.com Password for pppiroto@gmail.com: Cloning 1 application file. Deploying new version. Checking if new version is ready to serve. Will check again in 1 seconds. Checking if new version is ready to serve. Will check again in 2 seconds. Checking if new version is ready to serve. Closing update: new version is ready to start serving. Uploading index definitions.
↑ も毎回コマンドラインをたたくのは、わずらわしいのでANTタスクにしとく
<project basedir=".."> <property name="project_location" value="typea-test\src"/> <property name="appengine_dir" value="C:\Program Files\Google\google_appengine" /> <property name="appcfg" value="appcfg.py" /> <property name="project_update_cmd" value="${appengine_dir}\${appcfg}" /> <target name="Release to GAE"> <echo>Execute Command : ${project_update_cmd}</echo> <echo>Target Directory : ${basedir}\${project_location}</echo> <exec executable="python"> <arg value='"${project_update_cmd}"'/> <arg value='update'/> <arg value='"${basedir}\${project_location}"'/> </exec> </target> </project>
実行したところ。成功!
2回目以降はEmailとパスワード聞かれないのか?まぁいいや。
10. アップロードされた!
11. サービスイン!
http://typea-test.appspot.com/
成功!
「App Engine にアップロードしたアプリケーションを削除する手段は提供されていません。1 つの Google アカウントで、最大 10 個のアプリケーション ID を登録できます。このうち 1 つをチュートリアルで消費したくない場合、このセクションは読むだけにし、最初のアプリケーションをアップロードする準備ができたときに参照してください。」
らしい・・・ はやくいってよ。無駄遣いしちゃいましたよ。
自己レス
・今は、PyDevで自動でデプロイできます。
・今は、アプリケーション削除できます。