我得到:
IOError: decoder zip not available
当我尝试绘制图像并将其保存到PIL中的jpeg中时。关于如何解决这个问题有什么想法吗?过去,PIL在查看/上传图像方面对我来说效果很好。
Answers:
sudo pip uninstall PIL
sudo pip install pillow
^^为我修复了它。
Pillow是PIL的一个分支,与pip / setuptools兼容,并且得到了更好的维护。我还没有看到任何API差异。
编辑:有一个显着的API差异。PIL将Image公开为顶级名称空间,因此您可以
import Image # in PIL only
但
from PIL import Image # in pillow or PIL
import Image
适用于PIL,而不适用于枕头。枕头需要from PIL import Image
pip --no-cache-dir install Pillow
在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是在没有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
输出中应该有一行。
参考:http : //jj.isgeek.net/2011/09/install-pil-with-jpeg-support-on-ubuntu-oneiric-64bits/
_imagingft.c:73:31: fatal error: freetype/fterrors.h: No such file or directory
在此之后看到错误,只需再链接一个库:(ln -s /usr/include/freetype2 /usr/include/freetype2/freetype
我相信如果您有的话,会发生这种情况apt-get install python-imaging
)
我遇到了同样的问题。在我看来,枕头和枕头(在'p'中为不同情况)是两种不同的包装。因此,如果您使用的是枕头,pip install pillow
可能无济于事。这是我的解决方案:
$ pip uninstall pillow
$ pip uninstall Pillow
$ sudo apt-get install libjpeg-dev zlib1g-dev
$ pip install -I Pillow
前两行是删除任何枕头或枕头包装。
第三行是安装两个必需的软件包。
Forth是重新安装枕头。
注意,如果使用的是virtualenv,则pip install/uninstall
必须在virtualenv下运行
我在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
sudo brew install lzlib
在我上面说“ brew:未找到命令”。
我使用64位ubuntu 14.04LTS桌面版本,并尝试了Johnny Zhao的答案。
什么时候
exec sudo easy_install PIL
我收到一个错误:
can't find freetype/fterrors.h
我在/ usr / include /中找到了freetype2
您可以通过以下方法解决它:
sudo ln -s /usr/include/freetype2 /usr/include/freetype
然后安装将成功
apt-get install python-imaging
。如果您只是libjpeg-dev libfreetype6-dev zlib1g-dev
自己安装而没有所有的python-imaging,则不会收到此错误。
就我而言,我只是恢复了python-image,请确保libz准备就绪,然后重新安装PIL,更多详细信息可以在我的文章中看到:
http://febru.soluvas.com/2014/03/solved-openerp-7-ioerror-decoder-zip.html
Mac OS X PIL JEPG和PNG问题(与Linux os相同),本帖子帮助我解决PIL的PNG和JPEG问题: 解码器zip不可用,解码器jpeg不可用
在安装/重新安装PIL时,请确保JPEG和ZLIB可用:
$ 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
--------------------------------------------------------------------
我尝试了2.8.0版,但对我来说效果很好
pip install -Iv Pillow==2.8.0
尝试:
$ sudo apt-get install python-dev
$ sudo apt-get install libjpeg8-dev
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
从3.0.0版本开始,枕头需要libjpeg。如果问题仍然存在,则可能是程序包不兼容。节省一些时间并尝试以前的版本:
$ pip install Pillow==2.8.1