关于PIL错误 – IOError:解压缩zip不可用
我得到:
IOError: decoder zip not available
当我尝试绘制图像并保存到PIL中的JPEG。 有关如何解决这个问题的任何想法? 在过去,PIL对我来说很好,当谈到查看/上传图像时。
它可能只需要zip解码器来保存jpeg。 我想我需要在OS X中按照这些步骤来预览jpeg。
这可能意味着你需要:
- 下载PIL源码 。
- 下载zlib库。
- 将PIL源指向zlib库。
- build立PIL。
sudo pip uninstall PIL sudo pip install pillow
^^为我修好了。
枕头是与PIP / setuptools兼容的PIL叉,并得到一个更好的维护。 我还没有看到任何API差异。
编辑:有一个值得注意的API差异。 PIL公开Image作为顶级命名空间,所以你可以
import Image # in PIL only
但
from PIL import Image # in pillow or PIL
- 谢谢,Leopd!
Ubuntu 64位zlib库更详细的安装PIL:
http://obroll.com/install-python-pil-python-image-library-on-ubuntu-11-10-oneiric/
对于懒惰(信贷到@ meawoppl apt-get
):
$ sudo apt-get install libjpeg-dev zlib1g-dev
我在64位ubuntu 13.04桌面版上遇到了这个问题,这里是我解决这个问题的方法。
尝试重新安装PIL,并在重新安装后注意输出信息:
--------------------------------------------------------------------- PIL 1.1.7 SETUP SUMMARY -------------------------------------------------------------------- version 1.1.7 platform linux2 2.7.4 (default, Sep 26 2013, 03:20:26) [GCC 4.7.3] -------------------------------------------------------------------- *** TKINTER support not available --- JPEG support available *** ZLIB (PNG/ZIP) support not available --- FREETYPE2 support available *** LITTLECMS support not available --------------------------------------------------------------------
请注意,有一行: *** ZLIB (PNG/ZIP) support not available
,这意味着PIL已经build成,没有ZLIB支持,我通过这样做来解决它:
首先你应该安装这些软件包: libjpeg-dev libfreetype6-dev zlib1g-dev
sudo apt-get install python-dev libjpeg-dev libfreetype6-dev zlib1g-dev # create these links, if already exists, remove it and re-link it ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib # reinstall PIL pip uninstall PIL pip install PIL
这一次,应该有一行--- ZLIB (PNG/ZIP) support available
输出中--- ZLIB (PNG/ZIP) support available
。
参考: http : //jj.isgeek.net/2011/09/install-pil-with-jpeg-support-on-ubuntu-oneiric-64bits/
我遇到了同样的问题。 在我看来,枕头和枕头(不同的情况在'p')是两个不同的包。 所以,如果你正在使用枕头, pip install pillow
可能没有帮助。 这是我的解决scheme:
$ pip uninstall pillow $ pip uninstall Pillow $ sudo apt-get install libjpeg-dev zlib1g-dev $ pip install -I Pillow
前两行是去除任何枕头或枕头包。
第三行是安装两个必需的软件包。
四是重新安装枕头。
请注意,如果您使用的是virtualenv,则必须在virtualenv下运行pip install/uninstall
我在OS X Mavericks上解决这个问题的方法是这样做的:
安装brew:
安装点子:
http://www.pip-installer.org/en/latest/installing.html
有了这些,你可以这样做:
sudo brew install lzlib # installs zlib pip uninstall PIL pip install --no-index -f http://dist.plone.org/thirdparty/ -U PIL
之后,它工作正常。 有关第三行的解释,请检查以下答案:
在Mac上
sudo brew install lzlib # installs zlib pip uninstall PIL pip install PIL
我用的是64bit的ubuntu 14.04LTS桌面版本,我试过了Johnny Zhao的回答。
什么时候
exec sudo easy_install PIL
我得到一个错误:
can't find freetype/fterrors.h
我发现freetype2在/ usr / include /
你可以通过以下方式解决:
sudo ln -s /usr/include/freetype2 /usr/include/freetype
那么安装就会成功
在我的情况下,我只是remore python-image,确保libz准备好然后重新安装PIL,更多的细节你可以看到我的post在这里:
http://febru.soluvas.com/2014/03/solved-openerp-7-ioerror-decoder-zip.html
Mac OS X的PIL JEPG和PNG的问题 (相同的Linux操作系统),这篇文章帮助我解决PNG和JPEG问题与PIL:解压缩zip不可用和解码器jpeg不可用
确保JPEG和ZLIB可用,当您安装/重新安装PIL时:
$ cd Imaging-1.1.7 $ python setup.py build_ext -i $ python selftest.py -------------------------------------------------------------------- --- TKINTER support available --- JPEG support available --- ZLIB (PNG/ZIP) support available *** FREETYPE2 support not available *** LITTLECMS support not available --------------------------------------------------------------------
原因可能是你没有zlib支持安装枕头。
在CentOS 7上:
yum install zlib zlib-devel pip install Pillow --upgrade
如果您正在使用一个Web应用程序重新启动您的Web服务器来申请。