10

この質問が重複しているように見えることはわかっていますが、PIL を適切にインストールする方法に関する多くのオンライン指示に従いましたが、どれも機能しませんでした。

私はすべてを試しました: Python Image Library fails with message "decoder JPEG not available" - PIL with no success.

sudo pip install pil を実行すると、最悪の場合、誤解を招くエラーが発生します。JPEG、Freetyle などのサポートはすべて利用可能としてリストされています。しかし、PIL を使用して一部の Python コードを実行すると、「decoder jpeg not available」という悪名高い IOError が発生します。

.so libjpeg ファイルの /usr/lib にシンボリック リンクした後でも、何も機能しません。

何か案は?ありがとうございました。

4

1 に答える 1

20

これを試すことができます:

1. PIL パッケージをクリアする

rm -rf /usr/lib/python2.7/site-packages/PIL
rm -rf /usr/lib/python2.7/site-packages/PIL.pth

2. 必要なパッケージをインストールする

ubuntu:
apt-get install libjpeg-dev libfreetype6-dev zlib1g-dev libpng12-dev

centos:
yum install zlib zlib-devel
yum install libjpeg libjpeg-devel
yum install freetype freetype-devel

3.イメージのダウンロードとインストール

wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz
tar xzvf Imaging-1.1.7.tar.gz
cd Imaging-1.1.7
# if the sys is x64, you must also do this: edit the setup.py file and set:
# centOS:
TCL_ROOT = '/usr/lib64'
JPEG_ROOT = '/usr/lib64'
ZLIB_ROOT = '/usr/lib64'
TIFF_ROOT = '/usr/lib64'
FREETYPE_ROOT = '/usr/lib64'
LCMS_ROOT = '/usr/lib64'
# Ubuntu:
TCL_ROOT = '/usr/lib/x86_64-linux-gnu'
JPEG_ROOT = '/usr/lib/x86_64-linux-gnu'
ZLIB_ROOT = '/usr/lib/x86_64-linux-gnu'
TIFF_ROOT = '/usr/lib/x86_64-linux-gnu'
FREETYPE_ROOT = '/usr/lib/x86_64-linux-gnu'
LCMS_ROOT = '/usr/lib/x86_64-linux-gnu'
#then install it use:
python2.7 setup.py install

4.動作確認

# before this command you should run `mv PIL PIL2`

python2.7 selftest.py

結果が次の場合:

--- PIL CORE support ok
--- TKINTER support ok
--- JPEG support ok
--- ZLIB (PNG/ZIP) support ok
--- FREETYPE2 support ok
*** LITTLECMS support not installed
--------------------------------------------------------------------
Running selftest:
--- 57 tests passed.

おめでとう!!

于 2013-11-20T09:06:18.273 に答える