2008-04-09

Google App Engine SDKインストール編

TekTekで使えたらいいなと思って、Google App EngineのSDKをインストールしてみた。
(まだ登録は順番待ちなのです。(T_T)
ひとまずHello worldまで実験完了したので書いておきます。

1. SDKのダウンロード
http://code.google.com/appengine/downloads.html


2. インストール
ダウンロードしたパッケージをひたすらクリックしてインストールして行きます。
その間表示されるメッセージには、以下のようなことが書いてあります。

開発用サーバーは、/usr/local/bin/dev_appserver.py にインストールされます。
その他の部品は /usr/local/google_appengine へインストールされます。

開発サーバーの起動
/usr/local/bin/dev_appserver.py [options] <application root>

"application root"は、文字通りアプリケーションのルートディレクトリで、
正式なフォーマットのapp.yamlかapp.ymlファイルを置いていなければならない。


追加で、以下のコマンドを実行し、各アプリをPythonにインストール。
% sudo ln -s /usr/local/google_appengine/google /usr/local/Python25/lib/python2.5/site-packages/google
※上記"/usr/local/Python25/lib/python2.5/site-packages/"の部分は、
あなたがお使いのPythonのインストールパスに合わせてください。

% cd /usr/local/google_appengine/lib/webob
% sudo python setup.py install
% cd /usr/local/google_appengine/lib/yaml
% sudo python setup.py
※djangoをインストールしていない方は、さらに
% cd /usr/local/google_appengine/lib/django
% sudo python setup.py

3. 確認
% python
>>> from google.appengine.ext import webapp
※このimportで何もエラーがでなければ、OKのようだ。
>>> ^D


4. Hello worldを書く。
% mkdir helloworld
% cd helloworld
※ここでこのディレクトリに以下の2ファイルを作成。
% cat helloworld.py
print 'Content-Type: text/plain'
print ''
print 'Hello, world!'

% cat app.yaml
application: helloworld
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
script: helloworld.py

5. hello worldアプリを起動
先ほどのhelloworldディレクトリ内にいる場合は、その上の階層へ
% cd ..

そして、以下を実行
ayu@~/work% /usr/local/google_appengine/dev_appserver.py helloworld
Allow dev_appserver to check for updates on startup? (Y/n): n
※上でdev_appserver.pyのアップデートをするかを聞かれるが、あせってnを選びました。。。

WARNING 2008-04-09 01:31:55,128 datastore_file_stub.py] Could not read datastore data from /tmp/dev_appserver.datastore
WARNING 2008-04-09 01:31:55,128 datastore_file_stub.py] Could not read datastore data from /tmp/dev_appserver.datastore.history
INFO 2008-04-09 01:31:55,131 dev_appserver_main.py] Running application helloworld on port 8080: http://localhost:8080

ここまでできたら、以下のURLをブラウザで開く。
http://127.0.0.1:8080/

これでhello world!が画面に表示されるはず!!!