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.
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:
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
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
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/
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.
La façon dont j'ai corrigé cela sous OS X Mavericks était la suivante:
Installez le brassin:
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:
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.
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
sur mac
Sudo brew install lzlib # installs zlib
pip uninstall PIL
pip install PIL
Sur Ubuntu 18
j'ai dû installer pillow 2.8.1
:
pip install Pillow==2.8.1
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
J'ai essayé la version 2.8.0 ça marche très bien moi
pip install -Iv Pillow==2.8.0
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
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
--------------------------------------------------------------------