β

解决使用PIL “decoder jpeg not available”错误

南柯一梦 2366 阅读

使用PIL对图片格式进行转换,但是却遇到异常

IOError: decoder jpeg not available

大概查了一下,使用这个功能需要系统中安装有libjpeg-dev库,如果你还没有安装,需要先安装再重新编译PIL:

以Ubuntu/Debian系统为例:

sudo apt-get install libjpeg-dev
pip install -I PIL

注意重新编译PIL,会在编译结束的时候给出Summary,上面可以看出当前decoder的支持情况:

--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      linux2 2.7.6 (default, Nov 19 2013, 13:26:35)
              [GCC 4.7.2]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
--------------------------------------------------------------------

从上面的输出可以看出,JPEG的decoder已经可用了,如果问题还没解决,请继续往下看。 检查一下libjpeg.so是否在你的/usr/lib目录下,如果没有则需要自己手动链接一下。

对于 Ubuntu x64:

sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib

对于 Ubuntu 32bit:

sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib/

然后再次重试安装PIL,问题应该就解决了

作者:南柯一梦
Life is problem solving
原文地址:解决使用PIL “decoder jpeg not available”错误, 感谢原作者分享。

发表评论