遅ればせながら、Google App Engine (GAE) の開発サーバとデバッグ環境構築について記事を書きます。
Kay フレームワークでは Kay側で用意している開発サーバー及びデバッグ・コマンドを使用して開発を行う。
(参考: 以前の記事1 記事2 )
しかし標準フレームワークである WebApp や、専用コマンドを持たないフレームワーク利用下では、GAE Luncher などを使用して開発を進めていくことになる。これらの設定と注意点について、説明する。
Google App Engine Luncher
GAE Luncher は、GAE の開発用サーバを設定・起動できるプログラムである。(下イメージ画面)
通常は、
- メニューの [File]→[Add existing application] で、 Eclipse などで作成したアプリケーションのパス(app.yamlがあるフォルダー)を指定して登録する。
- [Run] ボタンで、登録したアプリケーションを開発サーバで動かす。
登録したアプリケーションを動かすときに、次のエラーが出ることがある。
Traceback (most recent call last): File "C:\google_appengine\dev_appserver.py", line 71, in <module> run_file(__file__, globals()) File "C:\google_appengine\dev_appserver.py", line 67, in run_file execfile(script_path, globals_) NameError: global name 'execfile' is not definedこれは Python 環境が、3.0 以上で出るエラーのようだ。GAE は Python 2.5 を用意する必要がある。
また PC に複数のバージョンの Python をインストールしていて、OS のパスには Python 2.5 を指定している場合も、同じエラーが出ることがある。GAE SDK のインストール時に、最も高いバージョンの Python を開発サーバ用として登録してしまうのが原因のようだ。
このようなエラーが出た場合、次の手順で GAE Luncher の python 環境を変更してあげれば良い。
「GAE Lunchar の Python環境の切り替え」
- メニューの [Edit]→[Preferences] で Preferences ウィンドウを開く。
- Python Path を Python 2.5 の pythonw.exe に変更する(下イメージ)。
Eclipse 上での環境設定
GAE Luncher を使わなくても、Eclipse上で開発サーバの起動とそして、デバッグが可能となっている。この環境設定についても簡単に説明する。
「設定手順」
- Eclipse上で GAEアプリケーションのプロジェクトを作成したら、Eclipseメニューの [実行]→[実行構成](もしくは[デバッグの構成]) で、「構成の作成、管理、および実行」ウィンドウを開く。
- パースペクティブは [PyDev GoogleApp Run] を選択して、[新規の起動構成]ボタンを押す。
- 次の項目を指定する
タブ 設定項目 設定値 - 名前 なんでも良い(プロジェクト名) メイン プロジェクト 今回のプロジェクトを選択 メイン メイン・モジュール GAE SDK フォルダーにある dev_appserver.py を指定
(例:C:\google_appengine\dev_appserver.py)引数 プログラムの引数 アプリケーションの app.yaml がある場所を指定
(例:${project_loc:sample_prj}/src)
sample_prjフォルダー下の srcフォルダを指定
project_loc変数で設定 - [適用] ボタンを押して保存する。
Eclipse上でアプリケーションをテストする時に、設定した構成を選択して[実行]ボタンを押す。すると開発サーバーが起動し、そのサーバ上でアプリケーションが稼動する。またデバック開始時に設定した構成を指定することにより、Eclipse上でのデバッグも可能だ。
詳細は次のサイトで確認のこと。
参考: Google Code - Python 開発用サーバ