PIL IOError: decoder jpeg not available

  1. #IOError: decoder jpeg not available  
  2. #Fix:  
  3. #First remove your last install!  
  4. rm -rf /usr/lib/python2.4/site-packages/PIL  
  5. rm /usr/lib/python2.4/site-packages/PIL.pth  
  6. rm ~/Imaging-1.1.6  
  7.   
  8. #Make sure you install at the libraries for both JPEG support and FreeType2:  
  9. yum install libjpeg  
  10. yum install libjpeg-devel  
  11. yum install freetype  
  12. yum install freetype-devel  
  13.   
  14. #Get PIL again and do the install:  
  15. wget http://effbot.org/media/downloads/Imaging-1.1.6.tar.gz  
  16. tar -zxvf Imaging-1.1.6.tar  
  17. cd Imaging-1.1.6/  
  18. python setup.py build_ext -i  
  19.   
  20. #Run the included test to make sure everything now works:  
  21. python selftest.py  
  22.   
  23. #If everything worked do the real install:  
  24. $ python setup.py install 




最近更换了网站的VPS服务器,新的VPS使用了Debian 5.0操作系统,经过一番配置,网站成功迁移python可以正常访问了。但昨晚在上传jpg格式图片时却出错了,查看程序日志,得到了上传程序记录的错误日志:

IOError: decoder jpeg not available

错误信息说明这个问题应该是跟jpg图片的处理有关的,说明python的PIL库出问题了。PIL安装n回了,Windows、Linux上都搞过,第一次碰到这个问题。google一番之后,得知这个问题的原因是PIL的jpg图片支持组件没有安装导致的。最后通过下面的方法干掉了这个错误,立存此照,已被后查。

第1步:删除已经安装的PIL:

$ rm -rf /usr/lib/python2.5/site-packages/PIL

$ rm /usr/lib/python2.5/site-packages/PIL.pth

第2步:安装JPEG库和FreeType2库
(在ubuntu上面老是出错,这一步应该这样安装:

sudo apt-get install libjpeg8-dev
)

$ apt-get install libjpeg-dev

$ apt-get install libfreetype6-dev

第3步:编译PIL

建议编译之前最好先删除掉Imaging文件夹,重新用tar从压缩包里解压一个干净的安装程序

$ cd Imaging-1.1.6

$ python setup.py build_ext –i

编译PIL

第4步:安装

$ python setup.py install

如无意外,PIL已经能够正常处理jpg格式的图片了。以上问题所处环境为:Debian5.0+Python2.5+PIL1.1.6。


[

pip uninstall PIL
sudo apt-get install libjpeg8-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
pip install PIL
]


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值