python - para - Acerca del error de PIL-IOError: el decodificador zip no está disponible
pillow python tutorial (13)
Estoy obteniendo el:
IOError: decoder zip not available
cuando intento dibujar una imagen y guardarla en un jpeg en PIL. ¿Alguna idea sobre cómo resolver esto? PIL me ha funcionado bien en el pasado, cuando se trata de ver / cargar imágenes.
En Ubuntu 18
tuve que instalar pillow 2.8.1
:
pip install Pillow==2.8.1
Encontré este problema en una versión de escritorio ubuntu 13.04 de 64 bits y así es como lo resolví.
intente reinstalar PIL y preste atención a la información de salida después de reinstalar:
---------------------------------------------------------------------
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
--------------------------------------------------------------------
observe que hay una línea: *** ZLIB (PNG/ZIP) support not available
, lo que significa que PIL se ha creado sin soporte ZLIB, y lo solucioné al hacer esto:
primero deberías tener estos paquetes instalados: 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
Esta vez, debería haber una línea --- ZLIB (PNG/ZIP) support available
en la salida.
Referencia: http://jj.isgeek.net/2011/09/install-pil-with-jpeg-support-on-ubuntu-oneiric-64bits/
Es probable que solo necesite el decodificador zip para guardar el jpeg. Creo que necesitaba seguir estos pasos en OS X para obtener una vista previa de jpegs.
Probablemente significa que necesita:
- Descargue la fuente PIL .
- Descargue la biblioteca zlib.
- Apunte la fuente PIL a la biblioteca zlib.
- Construye PIL.
La causa puede ser que haya instalado Pillow sin soporte zlib.
En CentOS 7:
yum install zlib zlib-devel
pip install Pillow --upgrade
Y si está utilizando un webapp, reinicie su servidor web para postularse.
La forma en que arreglé esto en OS X Mavericks fue haciendo esto:
Instalar brebaje
Instalar pip:
http://www.pip-installer.org/en/latest/installing.html
Con eso en su lugar, puedes hacer esto:
sudo brew install lzlib # installs zlib
pip uninstall PIL
pip install --no-index -f http://dist.plone.org/thirdparty/ -U PIL
Después de eso, funcionó bien. Para una explicación de la tercera línea, verifique esta respuesta:
https://.com/a/2486396/290072
Me encontré con el mismo problema. Me parece que la almohada y la almohada (caso diferente en ''p'') son dos paquetes diferentes. Por lo tanto, si está utilizando Pillow, la almohada pip install pillow
puede no ser de ayuda. Aquí está mi solución:
$ pip uninstall pillow
$ pip uninstall Pillow
$ sudo apt-get install libjpeg-dev zlib1g-dev
$ pip install -I Pillow
Las primeras dos líneas son para quitar cualquier almohada o paquete de almohada.
La tercera línea es instalar los dos paquetes requeridos.
Forth vuelve a instalar Pillow.
Tenga en cuenta que si está utilizando virtualenv, pip install/uninstall
debe ejecutarse bajo virtualenv
Mientras más detalles instale PIL con la biblioteca zlib en Ubuntu 64 bit:
http://obroll.com/install-python-pil-python-image-library-on-ubuntu-11-10-oneiric/
Para los perezosos (créditos a @ meawoppl para el apt-get
):
$ sudo apt-get install libjpeg-dev zlib1g-dev
Probé la versión 2.8.0, me funciona bien
pip install -Iv Pillow==2.8.0
Utilizo la versión de escritorio ubuntu 14.04LTS de 64 bits, y probé la respuesta de Johnny Zhao.
Cuando
exec sudo easy_install PIL
Recibí un error:
can''t find freetype/fterrors.h
y encuentro freetype2 en / usr / include /
Podrías resolverlo por:
sudo ln -s /usr/include/freetype2 /usr/include/freetype
entonces la instalación será exitosa
en mac
sudo brew install lzlib # installs zlib
pip uninstall PIL
pip install PIL
en mi caso, simplemente remuevo python-image, me aseguro de que libz esté lista y luego vuelva a instalar PIL, más detalles que pueden ver en mi publicación aquí:
http://febru.soluvas.com/2014/03/solved-openerp-7-ioerror-decoder-zip.html
Problemas de Mac OS X PIL JEPG y PNG (lo mismo para Linux OS ), este artículo me ayudó a salir de problemas tanto PNG como JPEG con PIL: el decodificador zip no está disponible y el decodificador JPEG no está disponible
Asegúrese de que JPEG y ZLIB estén disponibles cuando instala / reinstala 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
--------------------------------------------------------------------
sudo pip uninstall PIL
sudo pip install pillow
^^ lo arregló para mí.
Pillow es una horquilla de PIL que es compatible con pip / setuptools y recibe un poco más de mantenimiento. No he visto diferencias de API todavía.
Editar: hay una notable diferencia de API. PIL expone la imagen como un espacio de nombre de nivel superior, por lo que puede
import Image # in PIL only
pero
from PIL import Image # in pillow or PIL
- Gracias, Leopd!