2008年9月7日日曜日

eclipse + PyDev で Google App Engine アプリを開発

1. Pydev プロジェクトを作成


2. Google App Engine のライブラリをパスに追加
プロジェクトを右クリック
Properties -> PyDev -PYTHONPATH の External Source Folders の
「Add Source Folder」をクリックして、以下を追加。

/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/django
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webob
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/yaml


3. app.yaml を作成
src フォルダに app.yaml を作成。
application: sample
version: 1
runtime: python
api_version: 1

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


4. main.py を作成
src フォルダに main.py を作成。
import wsgiref.handlers
from google.appengine.ext import webapp

class MainHandler(webapp.RequestHandler):
def get(self):
self.response.out.write('Hello world!')

def main():
application = webapp.WSGIApplication([('/', MainHandler)],
debug=True)
wsgiref.handlers.CGIHandler().run(application)

if __name__ == '__main__':
main()


5. プログラムを実行(エラーを発生させる)
main.py を右クリックして、Run As -> Python Run を選択。
アプリケーションの実行エラーが発生します。

6. アプリケーション実行の設定を変更
エラー後、main.py を右クリックして、Run As -> Open Run Dialog を選択。

・Main タブの Main Module に以下を入力。
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/dev_appserver.py


・Arguments タブの Program arguments に以下を入力。
${project_loc}/src
--port=8080


7. アプリケーションを起動
main.py を右クリックして、Run As -> Python Run とすると、アプリケーションが起動します。
ブラウザで、http://localhost:8080/ にアクセスすると、Hello World とブラウザに表示されます。

デバッグについても、5,6,7 を Debug について実施すると、
ブレークポイントなども利用することができとても便利なのです。

eclipse + PyDev をインストール

eclipse で Google App Engine 用アプリの開発をするために、
eclipse + PyDev で環境を構築しましょう。

2008年9月6日時点では、Europa(3.3.x) 使うのが良さそうです。
一度 Ganymede でやろうとしましたが、PyDev がうまく入らなかった。

1. eclipse のインストール
Europa のダウンロード

eclipse-jee-europa-winter-macosx-carbon.tar.gz
がダウンロードできたら、ダブルクリックして展開しましょう。
展開すると、eclipse というフォルダができます。
私はこれを /Applications フォルダにコピーしてしまいます。

2. PyDev をインストール
で、ダウンロードしたら PyDev をインストールしましょう。
PyDev は以下の URL を指定してアップロードできるようになっています。
http://pydev.sourceforge.net/updates/

Help -> Software Updates -> Find and Install.
Search for new features to install を選択
New remote site を選択
URL に http://pydev.sourceforge.net/updates/ を入力して「OK」
# PyDev Optional Extensions はとりあえず不要です。

3. Python のパスを設定
OSX Leopard の python は、/usr/bin/python となります。
Eclipse -> Preferences -> PyDev -> Interpreter - Python で
一番上の[New]を押して、/usr/bin/python を選択(エクスプローラーで選択)
で設定完了

4. プロジェクトを作成
File -> New -> Other
Pydev -> Pydev Project を選択して新しいプロジェクトを作成。
名前は適当でオッケ。

5. アプリケーションを作成
作成されたプロジェクトの src フォルダに、test.py を作成。
print 'Hello eclipse + Pydev!!'


6. アプリケーションを実行
test.py を右クリックして、Run As -> Python Run で実行。
コンソールに Hello eclipse + Pydev!! と出力されればオッケ。

macbook に Google App Engine SDK をインストール

2008年9月6日現在では、mac 版 の Google App Engine SDK は、
Google App Engine Launcher という形で配布されています。

Mac OS X Leopard には、Python2.5 が入っているので、
Python を手に入れる必要は無いです。

http://code.google.com/intl/ja/appengine/downloads.html



ダウンロードしたら、dmg ファイルをダブルクリックしてマウント。
アプリケーションを /Applications フォルダ以下にコピー。

まずはこれで起動してみましょう。




1. エディタを指定
GoogleAppEngineLauncher -> Preferences
でエディタを指定。(私は /Applications/CotEditor_0.9.4/CotEditor.app)

2. アプリケーションを作成
File -> New Application
で、アプリケーションの名前を指定。
最終的に、このアプリを Google App Engine にアップロードすることになるので、プロジェクトの名前は、
Google App Engine のプロジェクト名に合わせておくのが良いと思います。

3. アプリケーションを起動
Run をクリック

4. アプリにアクセス
Brows をクリック

以上で、簡単な動作確認までは終了です。