web-dev-qa-db-ja.com

PIL / JPEGライブラリ:「デコーダーjpegは利用できません」

PILを使用して、Django= PILのアプリでJPEGの作業を実行しようとしましたが、このIOErrorが発生しています。

""decoder jpeg not available""

サーバーにJPEGデコーダがありませんか?もしそうなら、どうすれば修正できますか?

51
Brian D

最初にjpegライブラリをインストールし、PILを再インストールする必要があります。たとえば、CentOSを使用して、libjpegをインストールするために実行します

Sudo yum install -y libjpeg-devel

使用しているLinuxの種類によって異なります。そして、ここで古いPILを削除する必要があります

rm -rf /usr/lib/python2.6/site-packages/PIL-1.1.7-py2.6-linux-x86_64.Egg/

次に、PILをインストールします

Sudo easy_install PIL
56
Fang-Pen Lin

著者「edward」からのこの回答を見つけました

Ubuntuの正確な場合、PILは一度インストールされたjpegライブラリファイルも検出しません。これを修正する最も簡単な方法は、jpeg devパッケージをインストールした後にシンボリックリンクを作成することです。そのため、追加の手順が必要でした。

x64 OSの場合

pip uninstall PIL
Sudo apt-get install libjpeg8-dev
Sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
pip install PIL

x32 OSの場合

pip uninstall PIL
Sudo apt-get install libjpeg8-dev
Sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib
pip install PIL

Ubuntu Linux 12.04でこれが機能していることを確認します。


Macユーザーの場合-Xcodeとコマンドラインツールをインストールする必要があります。 これを行う方法を読む

72

より強力な答えは libjpegでvirtualenvにpilをインストール で見つけることができます。

私にとって最終的にウブツに取り組んだのは:

pip uninstall PIL
Sudo apt-get install libjpeg8-dev
pip install PIL

Python Imaging Library(PIL)は、jpegライブラリのバージョンと場所について本当にうるさいようです。PILはCで記述されコンパイルされているため、が必要です。 developmentランタイムバージョンに加えて、ライブラリのバージョン。

20
Bryce

共有ブルーホストサーバーにいるため、Sudo権限がありません。そのため、これらのSudoのapt-get jpegコマンドは実行できません。走ってしまいました

pip uninstall pil
pip install pillow

そして明らかに、pillowはjpegのサポートを見つけることができました。

6
Chase Roberts

イメージングインストールフォルダーにselftest.pyがあります。試してください:

python selftest.py

次のようなものが表示されます。

--------------------------------------------------------------------
*** PIL CORE support not installed
*** TKINTER support not installed
--- JPEG support ok
--- ZLIB (PNG/Zip) support ok
*** FREETYPE2 support not installed
*** LITTLECMS support not installed
--------------------------------------------------------------------

jPEGサポートが利用できない場合、Centos:

yum install libjpeg-devel
yum install freetype-devel 
yum install libpng-devel
3
hahakubile

Macのユーザーの場合、ライブラリはこちらからダウンロードできます: http://ethan.tira-thompson.com/Mac_OS_X_Ports.html 。次に、PILをアンインストールしてインストールします

2
cmaluenda

Debianディストリビューションでは、libjpeg8-devではなくlibjpeg62-turbo-devを使用します

0
Steve

ソースからPILをビルドできます: http://effbot.org/zone/pil-decoder-jpeg-not-available.htm

0
TryPyPy