最近更换了网站的VPS服务器,新的VPS使用了Debian 5.0操作系统,经过一番配置,网站成功迁移可以正常访问了。但昨晚在上传jpg格式图片时却出错了,查看程序日志,得到了上传程序记录的错误日志:
IOError: decoder jpeg not available
错误信息说明这个问题应该是跟jpg图片的处理有关的,说明python的PIL库出问题了。PIL安装n回了,Windows、Linux上都搞过,第一次碰到这个问题。google一番之后,得知这个问题的原因是PIL的jpg图片支持组件没有安装导致的。最后通过下面的方法干掉了这个错误,立存此照,已被后查。
$ rm -rf /usr/lib/python2.5/site-packages/PIL
$ rm /usr/lib/python2.5/site-packages/PIL.pth
(在ubuntu上面老是出错,这一步应该这样安装:
sudo apt-get install libjpeg8-dev
)
$ apt-get install libjpeg-dev
$ apt-get install libfreetype6-dev
建议编译之前最好先删除掉Imaging文件夹,重新用tar从压缩包里解压一个干净的安装程序
$ cd Imaging-1.1.6
$ python setup.py build_ext –i
$ 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
]