[python]当在Mac OS X上遇到 decoder jpeg not available
参考链接(可能需翻墙):
写给仍为这个问题纠结闹心的人(原文翻译,不够信达雅,将就看):
1. 卸载你的PIL (在"/Library/Python/2.7/site-packages/"目录找到PIL,连同PIL.pth一起删除之)
2. 在这下载最新的libjpeg: http://www.ijg.org/files/jpegsrc.v7.tar.gz
$ tar zxvf jpegsrc.v7.tar.gz
$ cd jpeg-7
$ ./configure --enable-shared --enable-static
$ make
$ sudo make install
4. 在这下载PIL: http://effbot.org/downloads/Imaging-1.1.7.tar.gz
5. 解压PIL安装包
$ tar zxvf Imaging-1.1.7.tar.gz
$ cd Imaging-1.1.7
6. 编辑解压出来的setup.py, 设置:JPEG_ROOT = libinclude("/usr/local") 这个设置非常重要!,有人还做了这个设置,随便你:ZLIB_ROOT = libinclude("/usr/local") 。
7. 安装PIL
$ python setup.py build
$ sudo python setup.py install --optimize=1
$ python selftest.py - Run the selftest to confirm PIL is installed ok
$ sudo python setup.py install
8. 最好重启下你的IDE,PyDev也好,PyCharm也好,装逼的VIM不知道要不要重启。
9. 搞定!
---------------------------------------
这一折腾,发现调用验证码时出错“The _imagingft C module is not installed”,得,FREETYPE库又出问题。
找到FREETYPE所在位置(在“/usr/X11”,你的机器上没有的话,要安装一个了),修改PIL安装文件setup.py:FREETYPE_ROOT = libinclude("/usr/X11")。
删除PIL,又装一遍。