Flask on Google App Engine(buildout 編)

buildout を使って Flask + Google App Engine な環境を構築してみたメモ。

buildout とは、Pythonベースの環境構築ツール。
日本語による記事が少なくて非常にとっつきにくいですが、慣れると簡単便利です。

こちらが今回書いた物。一応、Linux(CentOS5), MacOSX10.6で動作確認済み。
flask-gae-template

セットアップしてみる

以下のコマンドを入力する。
(gitがない場合、代わりに上記サイトのDownloadsからダウンロード&解凍すればOK)

$ git clone https://github.com/utahta/flask-gae-template.git  
$ cd flask-gae-template  
$ curl -LO http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py  
$ python bootstrap.py -d  
$ ./bin/buildout  

するといろいろディレクトリが作成されたり、GoogleAppEngineのSDKやFlaskがダウンロードされたりする。
いろいろ作成された中のsrcという名のディレクトリが、作業場。

とこれだけでセットアップは完了。

残るは動作確認。

次のコマンドを打って、

$ ./bin/dev_appserver src/  

ウェブサーバを起動し、http://localhost:8080にアクセスしてエラーがなければ成功です。

ちなみに

作業場の名前(src)が気に食わなかったら、buildout.cfgのこの部分を好きな名前に書き換えて、もう1度./bin/buildoutすると良い感じです。

GoogleAppEngineLauncher等、既にインストール済みのヤツを使いたかったら、buildout.cfgのこの行をコメントアウトなり削除なりして、パスを指定してあげると良い感じです。
たとえば、/usr/local/google_appengineにインストールしたやつを使いたかったら、

sdk-directory = /usr/local/google_appengine  

とします。

参考

Flask で始める Google AppEngine アプリ開発 - TIM Labs
Google App Engine の開発をbuildoutで行う — Python Hack-a-thon 4: ハンズオン v1.0 documentation