私のシステムではPILはJPEGをサポートしています。
アップロードをするたびに、コードが失敗します。
File "PIL/Image.py", line 375, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available
どうすればこれを解決できますか?
libjpeg-devはjpegsをpill(またはPIL)で処理できるようにするために必要であるため、それをインストールしてからpillを再コンパイルする必要があります。 Ubuntu 14.04ではlibjpeg8-devが必要と思われる
それでもPILを使用しているのであれば、最近は実際にピローを使用する必要があります。したがって、これらの指示に従う前にまずpip uninstall PIL
を切り替えるか、PILに固執する十分な理由があれば、以下)。
Ubuntuの場合:
# install libjpeg-dev with apt
Sudo apt-get install libjpeg-dev
# if you're on Ubuntu 14.04, also install this
Sudo apt-get install libjpeg8-dev
# reinstall pillow
pip install --no-cache-dir -I pillow
それでもうまくいかない場合は、64ビットUbuntuか32ビットUbuntuかに応じて、以下のいずれかを試してください。
Ubuntu x 64の場合:
Sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
Sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib
Sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib
またはUbuntu 32bitの場合:
Sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib/
Sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so.6 /usr/lib/
Sudo ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib/
それから枕を再取り付けします。
pip install --no-cache-dir -I pillow
(コメントからのフィードバックを含むように編集しました。これを指摘してくれたCharles Offenbacherには32ビットとは異なり、t-martには--no-cache-dir
の使用を提案してくれました).
OSXの人たちのために、私はlibpngとlibjpegをシステム全体にインストールするために次のバイナリを使いました:
私はすでにPILを(virtualenvのpip経由で)インストールしているので、私は走りました:
pip uninstall PIL
pip install PIL --upgrade
これは私にとってdecoder JPEG not available
エラーを解決しました。
UPDATE(4/24/14):
新しいバージョンのpipでは、外部ソースからライブラリ(PILを含む)をダウンロードするための追加のフラグが必要です。以下を試してください。
pip install PIL --allow-external PIL --allow-unverified PIL
追加情報については、次の回答を参照してください。 pip install PILはvirtualenvにインストールできません
アップデート2:
OSX Mavericksの場合は、ARCHFLAGS
フラグを @ RicardoGonzalesのコメント欄 に設定します。
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install PIL --allow-external PIL --allow-unverified PIL
これが私のために働いた唯一の方法です。パッケージのインストールとPILの再インストールはうまくいきませんでした。
Ubuntuに必要なパッケージをインストールします。
Sudo apt-get install libjpeg-dev
(他のデコーダを有効にするためにlibfreetype6 libfreetype6-dev zlib1g-dev
をインストールすることもできます)。
それからPILを枕に取り替えます:
pip uninstall PIL
pip install pillow
以下はubuntu 12.04での作業です。
pip uninstall PIL
apt-get install libjpeg-dev
apt-get install libfreetype6-dev
apt-get install zlib1g-dev
apt-get install libpng12-dev
pip install PIL --upgrade
「 - JPEG support avaliable」と表示されていれば、動作しています。
しかし、あなたがあなたのjpeg画像を編集してもまだうまくいかない場合は、Pythonパスをチェックしてください。私のPythonパスが/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.Egg/
を逃したので、~/.bashrc
を編集してこのファイルに次のコードを追加します。
編集:export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.Egg/
それで、最後に、それはうまくいきます!
Fedora 17では私はlibjpeg-devel
をインストールし、その後PIL
を再インストールしなければなりませんでした:
Sudo yum install --assumeyes libjpeg-devel
Sudo pip-python install --upgrade PIL
ロロの答えは素晴らしいです、しかし、私はピップキャッシュ(ピップ7で導入された)を迂回することによってピローを再インストールしなければなりませんでした、さもなければそれは正しく再コンパイルされません!コマンドは以下のとおりです。
pip install -I --no-cache-dir -v Pillow
そして、あなたはこれをログで読むことによって枕が正しく構成されたかどうか見ることができます:
PIL SETUP SUMMARY
--------------------------------------------------------------------
version Pillow 2.8.2
platform linux 3.4.3 (default, May 25 2015, 15:44:26)
[GCC 4.8.2]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
*** OPENJPEG (JPEG2000) support not available
--- ZLIB (PNG/Zip) support available
--- LIBTIFF support available
--- FREETYPE2 support available
*** LITTLECMS2 support not available
*** WEBP support not available
*** WEBPMUX support not available
--------------------------------------------------------------------
jpgやtiffなどのサポートが有効になっていることがわかるように、apt(libjpeg-dev libpng12-dev libfreetype6-dev libtiff-dev)を使って必要なライブラリをインストールしています。
Mac OS X Mavericks(10.9.3)では、次のようにしてこれを解決しました。
Libjpegをbrew(パッケージ管理システム)でインストール
libjpegをインストールする
枕を再取り付けします(私はPILの代わりに枕を使います)
ピップインストール - 私は枕
apt-get install libjpeg-dev
apt-get install libfreetype6-dev
apt-get install zlib1g-dev
apt-get install libpng12-dev
これらをインストールし、ソースからコンパイルしたため何らかの理由で動作しなかったため、PILを必ずpipと共にインストールしてください。
私はすでにPillow
を使用していて同じエラーを受け取りました。 libjpeg
またはlibjpeg-dev
を他の人の提案どおりにインストールしようとしましたが、(新しい)バージョンが既にインストールされていると言われました。
結局、Pillow
を再インストールするだけでした。
Sudo pip uninstall Pillow
Sudo pip install Pillow
Zeantsoiの投稿にコメントするにはあまりにも初心者なので、(10.9.1でOSXを解決するために私がしなければならなかったことは、
IOError:デコーダーjpegが利用できません
1)Xcodeツールをインストールします(端末を開いて実行します:xcode-select --install
) - この投稿から取られた: Mac OSの後にPILをインストールできませんX 10.9
2)このリンクからlibpngとlibjpegパッケージ(コンボインストーラー)をインストールします。 http://ethan.tira-thompson.com/Mac_OS_X_Ports .html
3)再起動(必須であるかどうかわからない)
4)pip install -I PIL
を実行してPILを再インストールします(問題が発生する前に最初にPILをインストールしたのと同じ)
この助けを願って、もっと混乱しないでください...
_oho
この質問はかなり前に投稿されたもので、ほとんどの回答もかなり古くなっています。だから私がこれを理解しようとするのに何時間も費やしたとき、何もうまくいきませんでした、そして私はこの記事ですべての提案を試みました。
私のDjangoアバター形式でJPGをアップロードしようとしたとき、私はまだ標準的なJPEGエラーを得ていました:
raise IOError("decoder %s not available" % decoder_name)
OSError: decoder jpeg not available
それから私はUbuntu 12.04のリポジトリをチェックし、libjpeg
のいくつかの追加パッケージに気付きました。私はこれらをインストールし、私の問題は解決しました:
Sudo apt-get install libjpeg62 libjpeg62-dev
これらをインストールすると削除されたlibjpeg-dev
、libjpeg-turbo8-dev
、およびlibjpeg8-dev
。
これが2015年以降の誰かに役立つことを願っています!
乾杯
ここでも同じ問題、JPEG support available
がIOError: decoder/encoder jpeg not available
を取得しました。ただし、PILではなくPillowを使用します。
私は上記のことをすべて試しましたが、多数時間後にvirtualenv
と組み合わせてSudo pip install
を使用しても期待通りに動作しないことがわかりました。愚かな私.
Sudo
を使用すると、新しいシェルでコマンドが効果的に起動されます(これは完全に正しくない場合があります)。代わりに、地球環境にインストールされます。 (これはめちゃくちゃだった、私は枕の2つの異なるインストールがあったと思う。)
私は物事をきれいにし、rootにユーザーを変更してvirtualenvに再インストールしました、そして今それは機能します。
うまくいけば、これは誰かに役立つでしょう!
Fedora用
前提条件のインストールSudo dnf install make automake gcc gcc-c++ kernel-devel rpm-build libjpeg-devel zlib-devel python-devel
今すぐPillowをインストールしてください
Sudo pip install pillow
注 - libjpegおよびzlibの場合、Fedora/CentOS/Red Hatにlibjpeg-develおよびzlib-develパッケージをインストールしています。
まず、Pythonをアンインストールすることに加えて、隠しフォルダuser/appData内のpythonフォルダを削除しなければなりませんでした(これは大きな頭痛の種となっていました)。それから私はWinPython Distributionをインストールしました。 http://code.google.com/p/winpython/ PILを含みます
Mac OS Mountain Lionの人たちのために、私はzeantsoiの先祖に従ったが、うまくいかない。
私はついにこの記事の解決策になった: http://appelfreelance.com/2010/06/libjpeg-pil-snow-leopard-python2-6-_jpeg_resync_to_restart/
今、私は喜んでjpegのための私のスクリプトを実行しています!