Об ошибке PIL-IOError: декодер zip недоступен


Я:

IOError: decoder zip not available

когда я пытаюсь нарисовать изображение и сохранить в jpeg в PIL. Любые мысли о том, как решить эту проблему? Пил работал штрафа для меня в прошлом, когда дело доходит до просмотра/загрузки изображений.

13 65

13 ответов:

Он, вероятно, должен только почтовый декодер, чтобы сохранить в формате JPEG. Я думаю, что мне нужно было выполнить эти шаги в OS X для предварительного просмотра jpeg.

Это, вероятно, означает, что вам нужно:

sudo pip uninstall PIL
sudo pip install pillow 

^^ исправил это для меня.

подушка это вилка PIL, которая совместима с pip/setuptools и получает немного лучшее обслуживание. я еще не видел никаких различий API.

Edit: есть одна заметная разница API. PIL предоставляет изображение как пространство имен верхнего уровня, так что вы можете

import Image # in PIL only

но

from PIL import Image  # in pillow or PIL
  • Спасибо, Leopd!

более подробная установка PIL с библиотекой zlib в Ubuntu 64 бит:

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

я столкнулся с этой проблемой на 64bit ubuntu 13.04 desktop version и вот как я это решил.

попробуйте переустановить 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/

я столкнулся с той же проблемой. Мне кажется, что подушка и подушка (разные случаи в "p") - это два разных пакета. Так что, если вы используете подушку,pip install pillow может и не помочь. Вот мое решение:

$ pip uninstall pillow
$ pip uninstall Pillow
$ sudo apt-get install libjpeg-dev zlib1g-dev
$ pip install -I Pillow

первые две линии должны удалить любую подушку или пакет подушки.

Третья строка-это установка двух необходимых пакетов.

вперед переустановите подушку.

обратите внимание, если вы используете virtualenv, pip install/uninstall должен быть запущен под виртуальное окружение

способ, которым я исправил это на OS X Mavericks, заключался в следующем:

установить brew:

http://brew.sh/

установить pip:

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

после этого, он работал хорошо. Для объяснения третьей строки, проверьте это ответ:

https://stackoverflow.com/a/2486396/290072

на mac

sudo brew install lzlib     # installs zlib
pip uninstall PIL
pip install PIL

Я использую 64-битную версию ubuntu 14.04 LTS desktop, и я попробовал ответ Джонни Чжао.
Когда

exec sudo easy_install PIL

я получил сообщение об ошибке:

can't find freetype/fterrors.h

и я нахожу freetype2 в /usr / include/

вы могли бы решить это:

sudo ln -s /usr/include/freetype2 /usr/include/freetype

тогда установка будет успешной

причиной может быть то, что вы установили подушку без поддержки zlib.

На CentOS 7:

yum install zlib zlib-devel
pip install Pillow --upgrade

и если вы используете для веб-приложения перезагрузить веб-сервер, чтобы применить.

в моем случае я просто переношу python-image, убедитесь, что libz готов, а затем переустановите PIL, более подробную информацию вы можете увидеть на моем посту здесь:

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
--------------------------------------------------------------------

Я пробовал версию 2.8.0 он отлично работает мне

pip install -Iv Pillow==2.8.0

On Ubuntu 18 мне пришлось установить pillow 2.8.1:

pip install Pillow==2.8.1