安装完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
安装完毕。