Python 2.5 と Google App Engine を試してみる
先日、ある方から著者である柴田さんのサイン入りの「みんなのPython」をいただいた。
- 作者: 柴田淳
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/08/22
- メディア: 単行本
- 購入: 11人 クリック: 624回
- この商品を含むブログ (180件) を見る
とりあえず SDK を落としてインストールしようとしたら Python 2.5 が必須とのこと。自分が普段使っている CentOS 5 に入ってるのは Python 2.4 なので、別途インストールしなければならない。
というわけでまずは環境構築からスタートのようです。
ちょっと脱線
Google Gear があって Google App Engine と来たので、なんかデータストアの部分をカプセルかして提供してくれるとかいう物とかあるのかと思ったんですが、そういうことはないようです。
なんか Google Gear で本来のサーバーサイド処理も JavaScript でみたいな実装ができて、それでオンラインもオフラインもどっちも意識せずに開発できるようなことにはならないのだろうか。
ECMAScript というか ActionScript 3 を見てると Java と変わらない厳格な書き方もできるし、Flex の実装してるともうサーバーサイドもこの言語で書ければいいのにと思う。
Python 2.5 と Google App Engine をセットアップ
Download Python から Python 2.5.2 compressed source tarball のリンク URLを wget してコンパイルする。とりあえずオプションは特に付けなかった。
$ wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tar.bz2 $ bunzip2 -c Python-2.5.2.tar.bz2 | tar xvf - $ cd Python-2.5.2 $ ./configure --prefix=/usr/local/Python-2.5.2 $ make $ sudo make install
さらに Google App Engine を落として展開する。Downloads - Google App Engine — Google Developers から Linux/Other Platforms - 1.0.1 - 4/14/08 を入れる。
$ wget http://googleappengine.googlecode.com/files/google_appengine_1.0.1.zip $ unzip google_appengine_1.0.1.zip $ cd google_appengine $ less README
dev_appserver.py にアプリケーションルートを渡して実行するようだ。HTTP サーバも要らない(まあ Python だし当然か)。demos/guestbook というのがあるので、とりあえずこれを実行してみる。address 引数指定しないと localhost でbind してしまうから指定する。そしてブラウザから http://○○○○:8080/ にアクセスしてみた。
$ /usr/local/Python-2.5.2/bin/python ./dev_appserver.py --address=0.0.0.0 demos/guestbook WARNING 2008-05-05 16:40:19,501 datastore_file_stub.py] Could not read datastore data from /tmp/dev_appserver.datastore WARNING 2008-05-05 16:40:19,503 datastore_file_stub.py] Could not read datastore data from /tmp/dev_appserver.datastore.history INFO 2008-05-05 16:40:19,516 dev_appserver_main.py] Running application guestbook on port 8080: http://0.0.0.0:8080 INFO 2008-05-05 07:40:23,861 dev_appserver.py] "GET / HTTP/1.1" 200 - INFO 2008-05-05 07:40:23,865 dev_appserver_index.py] Updating /proj/comp/google_appengine/demos/guestbook/index.yaml INFO 2008-05-05 07:40:28,409 dev_appserver.py] "POST /sign HTTP/1.1" 302 - INFO 2008-05-05 07:40:28,493 dev_appserver.py] "GET / HTTP/1.1" 200 -
Guestbook( コメント書きアプリ)が動いた。スタートはここで終了。