Я получаю:
IOError: decoder zip not available
когда я пытаюсь сделать изображение и сохранить в jpeg в PIL. Любые мысли о том, как разрешить это? PIL отлично справился со мной в прошлом, когда дело доходит до просмотра/загрузки изображений.
Я получаю:
IOError: decoder zip not available
когда я пытаюсь сделать изображение и сохранить в jpeg в PIL. Любые мысли о том, как разрешить это? PIL отлично справился со мной в прошлом, когда дело доходит до просмотра/загрузки изображений.
Скорее всего, потребуется только zip-декодер для сохранения jpeg. Я думаю, мне нужно было выполнить следующие шаги в OS X, чтобы просмотреть jpegs.
Вероятно, вам нужно:
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
Более подробная установка PIL с библиотекой zlib в 64-битной версии Ubuntu:
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/
Я столкнулся с той же проблемой. Мне кажется, что подушка и подушка (разные случаи в "р" ) - это два разных пакета. Итак, если вы используете Pillow, 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:
Установить 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
После этого он работал нормально. Для объяснения третьей строки проверьте этот ответ:
на mac
sudo brew install lzlib # installs zlib
pip uninstall PIL
pip install PIL
Я использую 64-разрядную версию настольной версии 14.04LTS для 64-битной версии, и я попробовал ответить Джонни Чжао. Когда
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
И если вы используете для webapp перезагрузите свой веб-сервер, чтобы применить.
в моем случае, я просто remoto 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), этот пост помогает мне в проблемах 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
На Ubuntu 18
мне пришлось установить pillow 2.8.1
:
pip install Pillow==2.8.1
Пытаться:
$ 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