安装完PIL,在处理jpg时,竟然提示“decoder jpeg not available”,搜之原来是PIL安装没有提供对jpeg的支持。
首先卸载已经安装的PIL:
在Mac下,找到site-packages可用如下方法:
import django
dir(django)
print django.__path__
经查找,我的在/Library/Python/2.7/site-packages下。
进入目录,删除PIL目录和PIL.pth,已安装的PIL就会卸载。
下载libjpeg和zlib:
http://www.ijg.org/files/jpegsrc.v7.tar.gz
http://zlib.net/zlib-1.2.7.tar.gz
安装libjpeg:
$ tar zxvf jpegsrc.v7.tar.gz
$ cd jpeg-7
$ ./configure --enable-shared --enable-static
$ make
$ sudo make install
默认安装在了:/usr/local/lib下。
安装zlib:
$ tar zxvf zlib-1.2.7.tar.gz
$ ./configure
$ make
$ sudo make install
默认安装在了:/usr/local/lib下。
修改PIL的setup.py:
JPEG_ROOT = "/usr/local/include"
ZLIB_ROOT = "/usr/local/include"
编译PIL:
$ python setup.py build_ext -i

测试:
$ python selftest.py
如果提示:
"57 tests passed."

那么安装:
$ python setup.py install
安装完毕。
解决PIL安装缺失jpeg支持的问题
本文指导如何解决在安装PIL后遇到的“decoderjpeg not available”问题,通过卸载现有PIL、安装libjpeg和zlib,并修改PIL的setup.py文件来解决jpeg处理不支持的问题。
985

被折叠的 条评论
为什么被折叠?



