我知道这个问题看起来像是重复的,但我已经按照许多在线说明如何正确安装PIL,但没有一个有效。
我已经尝试了所有内容:Python Image Library fails with message "decoder JPEG not available" - PIL但没有成功。
当我运行sudo pip install pil时,最糟糕的是,有一个误导性的错误。 Jpeg,Freetyle等支持全部列为可用。但是当使用PIL运行一些python代码时, 臭名昭着的“解码器jpeg不可用”的IOError出现了。
即使在.so libjpeg文件中符号链接到/ usr / lib之后,也没有任何效果。
有什么想法吗?谢谢。
答案 0 :(得分: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.download Image并安装
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.
恭喜!