このエラーに遭遇し、その理由がわからない未来の人々のために、調査結果を投稿したいと思います。それを修正するための正確なコマンドは、OSX Lion インストールのマシンとは異なる可能性があるため、何が問題なのかについての一般的な理解を提供したいと考えています。
まず、潜在的な解決策で迷子になりやすいため、エラー メッセージが、、およびWrong JPEG library version: library is 80, caller expects 62
の他の組み合わせである場合は正しいことを理解することが重要です。これらの番号は、libjpeg の互換性のないさまざまなバージョンに対応しています。ここには、動的にロードされる jpeg ライブラリと PIL (または Pillow) のインストールという 2 つの可動部分があります。エラー メッセージは、PIL インストールが libjpeg バージョン 6.2 のヘッダーでコンパイルされたが、実際の共有ライブラリをロードするときにバージョン 8.0 にリンクされていることを示しています。62
70
80
修正は、必要なバージョンの libjpeg をダウンロード、ビルド、およびインストールすることです (OSX Lion では新しいバージョンの方が簡単にビルドできますが、どのバージョンでも構いません)。
wget http://www.ijg.org/files/jpegsrc.v8d.tar.gz
tar xzf jpegsrc*
cd jpeg-*
./configure
make
sudo make install
これにより、「/usr/local/」に 2 つの注目すべきファイルがドロップされます。すなわち/usr/local/lib/libjpeg.8.dylib
と/usr/local/include/jpeglib.h
. あとは、インストール時にこれら 2 つのファイルを使用するように PIL (または Pillow) を取得するだけで済みます。これを行うためのより良い方法があることは知っていますが、ハック (PIL ドキュメントで推奨されているように) は、setup.py
インストールする前に PIL ディストリビューションのファイルを編集することです。ファイルの他の場所でさらにディレクトリ操作が必要になる場合がありますが、JPEG_ROOT = libinclude('/usr/local')
の上部近くに設定するだけで済む場合があります。setup.py
パスをいじるときは、正しいライブラリにリンクされているかどうかをテストする前に、PIL が完全な再構築を行うことを確認する必要があります。次のようなコマンドを使用しrm -rf build && python setup.py install
て、ライブラリが常にテスト中の現在のパスに新しくリンクされていることを確認しました。
とりとめのない回答で申し訳ありませんが、他のすべてのコピー アンド ペースト ソリューションを試しても、どれも機能しないのは非常にがっかりしました。願わくば、この回答により、少なくとも数人の人々が単純な解決策を求めて何時間も無駄にすることを防ぐことができます.
幸運を!