"IOError:解码器zip不可用" :Ubuntu Python PIL [英] "IOError: decoder zip not available" : Ubuntu Python PIL

查看:77
本文介绍了"IOError:解码器zip不可用" :Ubuntu Python PIL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从以下位置运行示例heatmap.py: http://jjguy.com/heatmap/

I am trying to get the sample heatmap.py running from: http://jjguy.com/heatmap/

#image.py
import heatmap
import random

if __name__ == "__main__":    
    pts = []
    for x in range(400):
        pts.append((random.random(), random.random() ))

    print "Processing %d points..." % len(pts)

    hm = heatmap.Heatmap()
    img = hm.heatmap(pts)
    img.save("classic.png")

我得到这个错误:

Processing 400 points...
Traceback (most recent call last):
  File "/home/ec2usr/workspace/image/image.py", line 14, in <module>
    img.save("classic.png")
  File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 1437, in save
    save_handler(self, fp, filename)
  File "/usr/local/lib/python2.7/dist-packages/PIL/PngImagePlugin.py", line 572, in _save
    ImageFile._save(im, _idat(fp, chunk), [("zip", (0,0)+im.size, 0, rawmode)])
  File "/usr/local/lib/python2.7/dist-packages/PIL/ImageFile.py", line 481, in _save
    e = Image._getencoder(im.mode, e, a, im.encoderconfig)
  File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 399, in _getencoder
    raise IOError("encoder %s not available" % encoder_name)
IOError: encoder zip not available

在带有Python 2.7的Ubuntu 12(64位)系统上使用Eclipse.

Working off of Eclipse on an Ubuntu 12 (64bit) system, with Python 2.7.

我在/usr/lib和/usr/lib/x86_64-linux-gnu/中都找到libz.so很好.我已经尝试了这些解决方案,但没有结果:

I find libz.so in both /usr/lib and /usr/lib/x86_64-linux-gnu/ just fine. I've tried these solutions already without result:

PIL表示具有可用的支持"但在保存文件时仍然会出现IOError

关于PIL错误-IOError :解码器zip不可用

IOError:解码器邮编不可用"在Linux上的ReportLab中使用matplotlib PNG,可在Windows上使用

http://www.foxhop .net/ubuntu-python-easy_install-pil-does-not-install-zlib-support

几天来我一直在梳头,非常感谢任何人的帮助!

I've been pulling my hair out over this for a few days and greatly appreciate anyone's help!

从python-imaging安装日志:

Install Log from python-imaging:

ubuntu@ip-10-241-17-21:/usr/lib$ sudo apt-get install python-imaging
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  account-plugin-identica account-plugin-twitter gir1.2-messagingmenu-1.0
  hplip-data libgtkspell-3-0 libqt4-designer libqt4-help libqt4-scripttools
  libqt4-svg libqt4-test libqtassistantclient4 libsane-hpaio
  linux-headers-3.5.0-21 linux-headers-3.5.0-21-generic python-debtagshw
  python-lxml python-pexpect python-piston-mini-client python-qt4
  python-renderpm python-reportlab python-reportlab-accel python-sip
  software-center-aptdaemon-plugins ubuntu-extras-keyring
Use 'apt-get autoremove' to remove them.
Suggested packages:
  python-imaging-doc python-imaging-dbg
The following NEW packages will be installed:
  python-imaging
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/294 kB of archives.
After this operation, 996 kB of additional disk space will be used.
Selecting previously unselected package python-imaging.
(Reading database ... 189302 files and directories currently installed.)
Unpacking python-imaging (from .../python-imaging_1.1.7-4build1_amd64.deb) ...
Setting up python-imaging (1.1.7-4build1) ...
ubuntu@ip-10-241-17-21:/usr/lib$

安装日志(来自Imaging的python install setup.py):

log from install ( python install setup.py from Imaging) :

PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      linux2 2.7.3 (default, Sep 26 2012, 21:51:14)
              [GCC 4.7.2]
--------------------------------------------------------------------
--- TKINTER support available
*** JPEG support not available
--- ZLIB (PNG/ZIP) support available
*** FREETYPE2 support not available
*** LITTLECMS support not available

selftest.py:

selftest.py:

--------------------------------------------------------------------
PIL 1.1.7 TEST SUMMARY
--------------------------------------------------------------------
Python modules loaded from ./PIL
Binary modules loaded from /usr/local/lib/python2.7/dist-packages
--------------------------------------------------------------------
*** PIL CORE support not installed
*** TKINTER support not installed
--- JPEG support ok
--- ZLIB (PNG/ZIP) support ok
*** FREETYPE2 support not installed
*** LITTLECMS support not installed
--------------------------------------------------------------------

推荐答案

我刚刚遇到了类似的问题,这是因为同时通过apt-get安装了PIL(通过python pip安装程序安装)和python-imaging软件包引起的.当我从pip删除多余的版本时,为我解决了该问题.

I just encountered a similar issue caused by having both PIL (installed through the python pip installer) and the python-imaging package installed via apt-get. When I removed the extra version from pip that resolved it for me.

如果从源代码或使用pip安装了PIL,则可能会遇到相同的问题.

If you installed PIL from source or using pip then you might have the same problem.

在构建PIL时,我还发现必须将库链接到/usr/lib.这可能会解决您上面的日志中不支持的消息.

When I was building PIL I also discovered that I had to link over the libraries to /usr/lib. That might resolve the not supported messages in your log above.

sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib

这篇关于"IOError:解码器zip不可用" :Ubuntu Python PIL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆