3

PIL でサポートされている写真を取得するのに問題があります。次のメッセージが表示されます。

IOError: decoder jpeg not available

libjpeg が必要なことに気づかずに、バイナリから PIL をインストールしました。

libjpeg と freetype2 を fink でインストールしました。

http://timhatch.com/ (ページの下部) の指示に従って PIL を再インストールしようとしました。

  • PIL 1.1.6 ソース パッケージをダウンロードし、Developer Tools をインストール済みにする
  • setup.py にこのパッチを適用して、既に持っている Freetype を見つけられるようにします。

    patch -p0 < leopard_freetype2.diff

  • fink がある場合は sudo apt-get install libjpeg (そうでない場合は、手動でビルドしてパスを調整します)

しかし、私はまだ同じエラーが発生しています。

Leopard PPC を使用しています。

4

5 に答える 5

1

私は同じ問題を抱えていましたが、この男の投稿が解決策を提供してくれました:

Imaging-1.1.6 サブディレクトリ内の PIL サブディレクトリと PIL.pth ファイルを rm します。

詳細はこちら:

http://blog.tlensing.org/2008/12/04/kill-pil-%E2%80%93-the-python-imaging-library-headache/

これを行った後、selftest.py は正常に機能しました。また、私は macports バージョンの jpeg ライブラリを使用しており、macports ルートのインクルード パスと lib パスを指すように JPEG_ROOT を既に指定していることにも注意してください。

于 2009-08-10T02:24:39.820 に答える
1

最近、PIL を必要とする製品 RHEL ボックスに django プロジェクトをデプロイしたときに、同様の「jpeg デコーダーの問題」が発生しました。私は PIL をダウンロードし、すぐに 'python setup.py install' を実行しました。問題が発生するまで、すべてが機能していることに満足していました。解決策: libjpeg は既にシステムにインストールされていたので、libjpeg-devel をインストールしました。PIL のソースに戻り、「python setup.py build」を実行しました。その最後に、PIL configure が jpeg、gif、freetype などのサポートを検出できたかどうかを示す出力が表示されました。 jpeg のサポートは問題ありませんでした。PILをインストールした後、うまくいきました。

于 2008-10-30T06:31:00.363 に答える
0

私は今日かなりの数時間この問題に固執しました。そして、私のアドバイスは、最初の15分で問題を解決できない限り、何度も試行錯誤しないことです。

問題を診断するためのツールがいくつかあります。

1.jpeglibアーキテクチャがマシンアーキテクチャと一致するかどうかを確認します。

file /usr/local/lib/libjpeg.7.dylib 

2._imaging.soがコンパイル済みのjpegライブラリに実際にリンクされているかどうかを確認します

cd ImageSrc

python setup.py build_ext -i

otool -L PIL/_imaging.so 

3. _imaging.soをインポートして、何が問題なのかを確認してください

cd PIL

python

import _imaging

4.最後に、Pythonの「site-package」ディレクトリから以前にインストールしたすべてのPIL *を削除して、セットアップが機能することを確認します

python setup.py install

私にとっては、ユキヒョウに32ビットのPythonを使用しているためで、次のようにjpeglibをインストールすることで問題を解決しました。

./configure CFLAGS="-arch i386" --enable-shared --enable-static
于 2010-12-26T13:34:05.027 に答える
0

libjpeg を使用してビルドしても、セルフテストが失敗する場合は、混乱を招く別の PIL がインストールされている可能性があります。インストールしてみて、セルフテストが機能するかどうかを確認してください。

OPで参照されている手順への直接リンクもここにあります

于 2009-09-25T02:18:15.550 に答える
0

Python パスはまだ libjpeg の古いバイナリ バージョンを見ていますか?

その場合は、新しい場所を指すように変更する必要があります。

新しいバージョンの PIL をコンパイルしたとき、libjpeg が見つかったと表示されましたか? それがなくても (iirc) 問題なくコンパイルできます。問題の最初の兆候はインクルード時に見られます。

./configure 時にパスを調整する必要があります。

差分はうまくいかないかもしれません。もう少しテストしてから、おそらくバグを報告する必要があります。

于 2008-10-30T06:14:06.357 に答える