PIL を使用して django アプリで JPEG 作業を行うために PIL を使用しようとしましたが、この IOError が発生しています。どうすればよいかわかりません。
""decoder jpeg not available""
サーバーに JPEG デコーダーがありませんか? もしそうなら、どうすれば修正できますか?
PIL を使用して django アプリで JPEG 作業を行うために PIL を使用しようとしましたが、この IOError が発生しています。どうすればよいかわかりません。
""decoder jpeg not available""
サーバーに JPEG デコーダーがありませんか? もしそうなら、どうすれば修正できますか?
著者「エドワード」からこの回答を見つけました
正確な 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 とコマンド ライン ツールをインストールする必要があります。これを行う方法を読む
最初に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
libjpeg を使用して virtualenv に pilをインストールすると、より強力な答えが見つかります。
私にとって、Ubutuで最終的に機能したのは次のとおりです。
pip uninstall PIL
sudo apt-get install libjpeg8-dev
pip install PIL
Python Imaging Library (PIL) は、jpeg ライブラリのバージョンと場所について非常にうるさいようです。また、PIL は C で記述されてコンパイルされるため、ランタイム バージョンに加えて、ライブラリの開発バージョンが必要です。
共有ブルーホスト サーバーを使用しているため、sudo 権限がありません。そのため、これらの sudo apt-get jpeg コマンドを実行できません。結局走りました
pip uninstall pil
pip install pillow
どうやら枕はjpegのサポートを見つけることができました。
Imaging のインストール フォルダに 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
Mac のユーザーは、ここからライブラリをダウンロードできます: http://ethan.tira-thompson.com/Mac_OS_X_Ports.html。次に、PIL をアンインストールしてインストールします
ソースから PIL をビルドできます: http://effbot.org/zone/pil-decoder-jpeg-not-available.htm
Debian ディストリビューションでは、libjpeg8-dev の代わりに libjpeg62-turbo-dev を使用します