Cygiwn Pythonの環境を整えつつ、ついでにGAE Python開発環境も作る

前提条件

普段使いのちょこちょことしたスクリプトやvirtualenvをキックするためのPythonCygwinのパッケージを利用する。よってPythonCygwinのsetup.exeでインストールしている前提で話をすすめる。

最低限のPython環境を用意

distributeをインストール

いわゆるeasy_install。setuptoolsは既に開発終了してて、こいつが後継ツールになるらしい。setuptoolsとか使ってたらきっと@aodag先生に怒られるんだろう。

$ wget http://python-distribute.org/distribute_setup.py
$ python distribute_setup.py
virtualenv、virtualenvwrapperをインストール
$ easy_install virtualenv
$ easy_install virtualenvwrapper

これでインストールされるはずなのだが、何故かvirtualenvwrapperのインストールにこける(ダウンロードに失敗している)ので、自分でwgetしてeasy_installした。

$ wget http://pypi.python.org/packages/source/v/virtualenvwrapper/virtualenvwrapper-2.6.1.tar.gz#md5=91a54c14cf38454255b18bf7fba4ed09
$ easy_install virtualenvwrapper-2.6.1.tar.gz

で、virtualenvwrapperはeasy_installするだけでは使えないので、/etc/profile.d/python.sh とでも適当な名前のログインスクリプトを作って、以下の2行を追加する。別に.bashrcに書いても良いのだが、profile.dの方に書いておけば、起動シェルをzshに切り替えても同じ設定を読んでくれる。

export WORKON_HOME=${HOME}/.virtualenvs
source /bin/virtualenvwrapper.sh

これを設定したらシェルを再起動する。

GAE開発環境を作る

buildoutを使えば一発で環境が作れるらしいんですが、buildout自体を理解してないのでベタに。

Python2.5.2のインストール

GAE PythonがPython2.5.2らしいので、普段使いのPythonとは別にGAE開発用のPythonをインストールする。

$ wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz
$ tar zxvf Python-2.5.2.tgz
$ cd Python-2.5.2
$ ./configure --prefix=/usr/local/python2.5.2
$ mame
$ make install
(mk)virtualenvでGAE開発用のsandboxを作成

gaeという名前で開発用のsandboxを作成する。python2.5.2へのPATHを通しておかないとvirtualenvがコケるので注意。

$ export PATH=${PATH}:/usr/local/python2.5.2/bin
$ mkvirtualenv --python=/usr/local/python2.5.2/bin/python2.5 --distribute --no-site-packages gae

sandboxができたら、.virtualenvs/gae/bin/postactivate に以下のようなPATHを通すコマンドを追加する。

export PATH=${PATH}:/usr/local/python2.5.2/bin

このようにpostactivateを設定しておくと、sandboxを使っている時だけ欲しい環境変数を設定したりすることができる。

なお、mkvirtualenvでsandboxを作ると、自動的に作成したsandboxにスイッチする。このsandboxから抜けたい場合は以下のコマンドを実行する。

$ deactivate

再度sandboxにスイッチしたい場合は以下のようにコマンドを実行する。

$ workon gae

なお、sandboxを削除したい場合は以下のようにコマンドを実行する。

$ rmvirtualenv gae
sandboxにGAE SDK依存ライブラリ(pysqlite、PIL)をインストール
$ easy_install pysqlite
$ easy_install pil

pysqliteのインストール中にエラーが出る場合は、Cygwin setup.exeからlibsqlite3-develを入れる。

sandboxにGAE SDKをインストール
$ wget http://googleappengine.googlecode.com/files/google_appengine_1.4.1.zip
$ unzip google_appengine_1.4.1.zip
$ mv google_appengine .virtualenv/gae/

あとはSDKへPATHを通せば良い。これも .virtualenv/gae/bin/postactivate に設定しておく。

export PATH=${PATH}:${HOME}/.virtualenvs/gae/google_appengine
Hello Worldとかデプロイとか

ここまできたら動くはずなので、あとはGAEのドキュメント見れ。