Об ошибке PIL-IOError: декодер zip недоступен
Я:
IOError: decoder zip not available
когда я пытаюсь нарисовать изображение и сохранить в jpeg в PIL. Любые мысли о том, как решить эту проблему? Пил работал штрафа для меня в прошлом, когда дело доходит до просмотра/загрузки изображений.
13 ответов:
Он, вероятно, должен только почтовый декодер, чтобы сохранить в формате JPEG. Я думаю, что мне нужно было выполнить эти шаги в OS X для предварительного просмотра jpeg.
Это, вероятно, означает, что вам нужно:
- скачать источник PIL.
- загрузите библиотеку zlib.
- укажите источник PIL в библиотеку zlib.
- построить PIL.
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:
установить 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
после этого, он работал хорошо. Для объяснения третьей строки, проверьте это ответ:
Я использую 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 --------------------------------------------------------------------