読者です 読者をやめる 読者になる 読者になる

AppEngineとPILはまりどころメモ

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
このはまり方すると多分大変なんだぜー。