[python]当在Mac OS X上遇到 decoder jpeg not available

参考链接(可能需翻墙):

https://groups.google.com/group/google-appengine-python/browse_thread/thread/fefdcd8d02fbee94/2944e0e179a46f29?pli=1

写给仍为这个问题纠结闹心的人(原文翻译,不够信达雅,将就看):
1. 卸载你的PIL (在"/Library/Python/2.7/site-packages/"目录找到PIL,连同PIL.pth一起删除之)
2. 在这下载最新的libjpeg: http://www.ijg.org/files/jpegsrc.v7.tar.gz

3.安装libjpeg

    $ 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,又装一遍。

Python JPG JPGE PIL FREETYPE
Views (6826) Comment (0) 2012-05-27
For example, "name@something.com". If someone replies to you it will be via email.
For example, "http://someaddress.com"