web-dev-qa-db-fra.com

À propos de l'erreur PIL - IOError: le décodeur Zip n'est pas disponible

Je reçois le:

IOError: decoder Zip not available

quand j'essaie de dessiner une image et de l'enregistrer sur un jpeg dans PIL. Avez-vous déjà réfléchi à la façon de résoudre ce problème? PIL a bien fonctionné pour moi par le passé, en ce qui concerne la visualisation/le téléchargement d’images.

65
DevX

Il suffit probablement du décodeur Zip pour sauvegarder le fichier jpeg. Je pense que je devais suivre ces étapes sous OS X pour avoir un aperçu des fichiers jpeg.

Cela signifie probablement que vous devez:

11
Jon-Eric
Sudo pip uninstall PIL
Sudo pip install pillow 

^^ l'a corrigé pour moi.

Pillow est une fourche de PIL compatible avec pip/setuptools et nécessitant un peu plus de maintenance. Je n'ai pas encore vu de différences entre les API.

Edit: Il y a une différence notable dans les API. PIL expose Image en tant qu'espace de noms de premier niveau, ce qui vous permet de:

import Image # in PIL only

mais

from PIL import Image  # in pillow or PIL
  • Merci, Leopd!
115
Cory

L'installation plus détaillée de PIL avec la bibliothèque zlib dans Ubuntu 64 bits:

http://obroll.com/install-python-pil-python-image-library-on-ubuntu-11-10-oneiric/

Pour les paresseux (crédits à @ meawoppl pour le apt-get):

$ Sudo apt-get install libjpeg-dev zlib1g-dev
39
yodi

J'ai rencontré ce problème sur un version de bureau ubuntu 13.04 64 bits} et voici comment je l'ai résolu.

essayez de réinstaller PIL et faites attention aux informations de sortie après la réinstallation:

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

remarquez qu'il y a une ligne: *** ZLIB (PNG/Zip) support not available, ce qui signifie que PIL ont été construits sans support ZLIB, et je l'ai corrigé en procédant comme suit:

tout d'abord, vous devriez avoir ces paquets installés: 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

Cette fois, il devrait y avoir une ligne --- ZLIB (PNG/Zip) support available dans la sortie.

Référence: http://jj.isgeek.net/2011/09/install-pil-with-jpeg-support-on-ubuntu-oneiric-64bits/

17
Johnny Zhao

J'ai rencontré le même problème. Il me semble que Coussin et Coussin (cas différent dans "p") sont deux paquets différents Donc, si vous utilisez Pillow, pip install pillow pourrait ne pas aider. Voici ma solution:

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

Les deux premières lignes doivent supprimer tout oreiller ou paquet d’oreiller.

La troisième ligne consiste à installer les deux packages requis. 

Forth est réinstaller Pillow. 

Notez que si vous utilisez virtualenv, pip install/uninstall doit être exécuté sous virtualenv.

7
John Pang

La façon dont j'ai corrigé cela sous OS X Mavericks était la suivante:

Installez le brassin:

http://brew.sh/

Installer le pip:

http://www.pip-installer.org/en/latest/installing.html

Avec ceux en place, vous pouvez faire ceci:

Sudo brew install lzlib     # installs zlib
pip uninstall PIL
pip install --no-index -f http://dist.plone.org/thirdparty/ -U PIL

Après cela, ça fonctionnait bien. Pour une explication de la troisième ligne, vérifiez cette réponse:

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

2
Almo

La cause peut être que vous avez installé Pillow sans le support zlib.

Sur CentOS 7:

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

Et si vous utilisez une application Web, redémarrez votre serveur Web pour l'appliquer.

1
chirale

J'utilise la version de bureau ubuntu 14.04LTS 64bit et j'ai essayé la réponse de Johnny Zhao.
Quand

exec Sudo easy_install PIL

J'ai une erreur:

can't find freetype/fterrors.h

et je trouve freetype2 dans/usr/include / 

Vous pouvez le résoudre par: 

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

puis installer sera le succès

1
woodrat

sur mac 

Sudo brew install lzlib     # installs zlib
pip uninstall PIL
pip install PIL
1
monika mevenkamp

Sur Ubuntu 18 j'ai dû installer pillow 2.8.1:

pip install Pillow==2.8.1
0
WaKo

Essayez: $ 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 À partir de la version 3.0.0, Pillow need libjpeg. Si le problème persiste, il peut y avoir une incompatibilité de paquet. Gagnez du temps et essayez la version précédente: $ pip install Pillow==2.8.1

0
Vargha Hokmran

J'ai essayé la version 2.8.0 ça marche très bien moi 

pip install -Iv Pillow==2.8.0
0
Suresh Velusamy

sur mon cas, je viens de restaurer python-image, assurez-vous que libz est prêt, puis réinstallez PIL, plus de détails à ce sujet sur mon post ici: 

http://febru.soluvas.com/2014/03/solved-openerp-7-ioerror-decoder-Zip.html

0
user3432013

Problèmes PIL JEPG et PNG sous Mac OS X (identique pour les OS Linux), cette publication m'aide à résoudre les problèmes PNG et JPEG avec PIL: décodeur Zip indisponible et décodeur jpeg non disponible 

Assurez-vous que les formats JPEG et ZLIB sont disponibles lorsque vous installez/réinstallez 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
--------------------------------------------------------------------
0
isaacselement