Programming‎ > ‎

Mac OS X の Python に PIL を入れる

追記 ( 2012-01-07 ) : 下記の手順でエラーは消えましたが、GAE の BlobStore 周りなどはまだ正常に動いていないようです。

Mac OS X 10.7 で Google App Engine の Python 2.7 の開発環境を準備している最中のこと、 PIL など追加のライブラリを入れて 
dev_appserver.py を起動するとこんな警告が出るのです。

WARNING  2011-12-24 01:27:51,762 dev_appserver.py:3344] Could not initialize images API; you are likely missing the Python "PIL" module. ImportError: dlopen(/Library/Python/2.7/site-packages/PIL/_imaging.so, 2): Symbol not found: _jpeg_resync_to_restart
  Referenced from: /Library/Python/2.7/site-packages/PIL/_imaging.so
  Expected in: flat namespace
 in /Library/Python/2.7/site-packages/PIL/_imaging.so

依存関係のどこかがうまくいっていません。世の中に同じ悩みを持つ人が世の中にいないかと探してみると、いました。


試してみたところ shacker さんの回答が当たりで、 Lennart Regebro さんが紹介している


と併せてインストールをやり直しました。 jpeg のソースからインストールした作業ディレクトリが残っている状態から

sudo rm /opt/local/lib/*jpeg*
cd /tmp/jpeg-8c
sudo make clean
cp /usr/share/libtool/config/config.sub .
cp /usr/share/libtool/config/config.guess .
./configure --enable-shared --enable-static
make
sudo make install
sudo pip uninstall PIL
sudo pip install http://effbot.org/downloads/Imaging-1.1.7.tar.gz

として、 dev_appserver.py を再起動すると、警告消えました。