IOError: encoder jpeg not available
在服务器上运行python脚本出现如上错误,搜了一圈,方法太多,复杂的没去尝试,简单的又不奏效,在综合几种方法之后,获得成功,感觉最主要的还是要更改imaging-1.1.7 种的setup.py文件
第1步:删除已经安装的PIL:
$ rm -rf /usr/lib/python2.7/site-packages/PIL
$ rm /usr/lib/python2.7/site-packages/PIL.pth
第2步:安装JPEG库和FreeType2库
$ sudo apt-get install libjpeg-dev
$ sudo apt-get install libfreetype6-dev
第3步: 获取PIL安装包:
下载安装包: wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz
解压: tar -xvzf Imaging-1.1.7.tar.gz
进入文件夹 : cd Imaging-1.1.7
修改setup.py: changed JPEG_ROOT = None to JPEG_ROOT = "/usr/lib/x86_64-linux-gnu"
如图所示:
检查是否支持: python Imaging-1.1.7/setup.py build_ext -I
如图所示: JPEG support available (离成功不远了,哈哈)
安装: python setup.py install
但是运行程序,又出现新的错误:
ImportError: The _imaging extension was built for another version of Pillow or PIL
执行:sudo pip install -U pillow
最后就成功运行程序了!
参考:
https://www.cnblogs.com/asmer-stone/p/4567750.html( 方法一中仅执行 安装PIL,PIL安装方法参考的下一个博客)
http://www.360doc.com/content/18/0801/15/58311868_774928321.shtml(修改setup.py的方法参考下一个链接)
https://stackoverflow.com/questions/8479344/pil-encoder-jpeg-not-available
https://stackoverflow.com/questions/26720968/pil-importerror-the-imaging-extension-was-built-for-another-version-of-pillow/