AppEngineのpython27ランタイムではPILを使うことができる。開発時のはまりどころをメモしておく。
PILはパッケージ周りの問題があってimportでコケる話は割とよく聞く。
try: from PIL import Image # (1) except ImportError: import Image # (2)
PILをインストールしているなら、このコードは大抵の環境でうまくいくんだけど、AppEngineのdev_appserverはimport可能なモジュールに制限をかけてるため、(2)のパターンが動かない。
PILをforkしたPillowをインストールすればPIL名前空間が使えるため、問題なく動作する。
http://pypi.python.org/pypi/Pillow
このはまり方すると多分大変なんだぜー。