Mac OS X に PIL をインストールする際の悪名高い _imaging C モジュール エラーに関する他の投稿を読みましたが、PIL FAQ を含め、どこにも提供されている解決策はどれも役に立ちませんでした。
ソースから新しくインストールされた libjpeg と zlib の最新バージョンがあります。これらのそれぞれの Makefile を編集して、32 ビット ビルド用の LD_FLAGS 変数にオプション -arch i386 を含めました。PIL は何の問題もなくインストールされ、端末に出力されるインストールの概要には、JPEG、TIFF、および PNG のサポートはすべて問題ないと表示されます。その後、セルフテストを試します:
new-host:Imaging-1.1.7 ely$ python selftest.py
*** The _imaging C module is not installed
これは、さまざまな理由で一般的に見られます。より深く調べて、ここで _imaging を Python に直接インポートしようとします。
new-host:Imaging-1.1.7 ely$ python
ActivePython 2.7.1.4 (ActiveState Software Inc.) based on
Python 2.7.1 (r271:86832, Feb 7 2011, 11:33:10)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import PIL
>>> import _imaging
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/_imaging.so, 2): Symbol not found: _jpeg_resync_to_restart
Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/_imaging.so
Expected in: dynamic lookup
ここでも、「Symbol not found: _jpeg_resync_to_restart」は悪名高く一般的であり、多くの人がこれは libjpeg へのパスが正しくないことに関係していると示唆しています。私は何度も何度もチェックしましたが、libjpeg(およびzlibなど)のみがホームディレクトリにインストールされており、すべてソースから別のフォルダーにあり、これらすべてがsetup.pyファイルで正しくマークされています。
したがって、PIL は適切な場所から jpeg サポート (および zlib など) を取得する必要があります。すべての依存関係がインストールされます。sys.path に _imaging.so が表示されますが、まだこの _jpeg_resync_to_restart エラーが発生します。
別の投稿にリンクしていないアイデアはありますか? 私は、見つけることができるすべてのフォーラムの投稿から可能な解決策を読み、試してみました.