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を選択

gae_pydev01

2. プロジェクト名等を設定して Next

gae_pydev02

3. ここで、Google App Engine SDK for Python  のインストールパスを指定する

gae_pydev03

4. アプリケーションのID(おそらくGAEに登録したAppのIDだろう)と、テンプレートを選択(Hello Webapp World にしとくとGAE用のコードが生成される)

gae_pydev04

5. そのまま動かしてみる。ファイルのコンテキストメニューから、Debug As - Debug Configurations を選択

gae_pydev05

6. Google App Engine の 開発用Webサーバーの指定をするのだが、ここでちょっとはまった。

Main Moduleに開発用Webサーバーを指定するのだが、ブラウズボタンでは一向に指定できない!

直接書き込む必要があるみたい

C:\Program Files\Google\google_appengine\dev_appserver.py

gae_pydev06

7. Arguments タブを選択し、Program arguments に、プロジェクトの場所を指定

"${project_loc}/src"

gae_pydev07

8. Apply、Debug 押下でサーバーが起動するので、http://localhost:8080 にアクセス

gae_pydev08

無事起動された!

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>

  gae_pydev11

実行したところ。成功!

2回目以降はEmailとパスワード聞かれないのか?まぁいいや。

10. アップロードされた!

 gae_pydev09

11. サービスイン!

 http://typea-test.appspot.com/

成功!

gae_pydev10

注意!!

「App Engine にアップロードしたアプリケーションを削除する手段は提供されていません。1 つの Google アカウントで、最大 10 個のアプリケーション ID を登録できます。このうち 1 つをチュートリアルで消費したくない場合、このセクションは読むだけにし、最初のアプリケーションをアップロードする準備ができたときに参照してください。」

らしい・・・ はやくいってよ。無駄遣いしちゃいましたよ。