Ich bekomme die:
IOError: decoder zip not available
wenn ich versuche, ein Bild zu zeichnen und in einem JPEG in PIL zu speichern. Irgendwelche Gedanken darüber, wie man das löst? PIL hat in der Vergangenheit für mich gut funktioniert, wenn es um das Anzeigen / Hochladen von Bildern geht.
^^ habe es für mich behoben.
Pillow ist eine Gabel aus PIL, die mit Pip / Setuptools kompatibel ist und eine etwas bessere Wartung erhält.
Ich habe noch keine API-Unterschiede gesehen.Bearbeiten: Es gibt einen bemerkenswerten API-Unterschied. PIL macht Image als Namespace der obersten Ebene verfügbar, sodass Sie dies tun können
import Image # in PIL only
aber
from PIL import Image # in pillow or PIL
quelle
import Image
funktioniert in PIL, nicht in Kissen. Kissen benötigtfrom PIL import Image
pip --no-cache-dir install Pillow
Die detailliertere Installation PIL mit zlib Bibliothek in Ubuntu 64 Bit:
http://obroll.com/install-python-pil-python-image-library-on-ubuntu-11-10-oneiric/
Für die Faulen (Credits an @ meawoppl für die
apt-get
):quelle
Ich habe dieses Problem auf einer 64-Bit-Ubuntu 13.04-Desktop-Version festgestellt festgestellt und hier ist, wie ich es behoben habe.
Versuchen Sie, PIL neu zu installieren, und achten Sie nach der Neuinstallation auf die Ausgabeinformationen:
--------------------------------------------------------------------- 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 --------------------------------------------------------------------
Beachten Sie, dass es eine Zeile gibt:
*** ZLIB (PNG/ZIP) support not available
Beachten Sie, , was bedeutet, dass PIL ohne ZLIB-Unterstützung erstellt wurde, und ich habe dies dadurch behoben:Zuerst sollten folgende Pakete installiert sein: 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
Dieses Mal sollte eine Zeile
--- ZLIB (PNG/ZIP) support available
in der Ausgabe sein.Referenz: http://jj.isgeek.net/2011/09/install-pil-with-jpeg-support-on-ubuntu-oneiric-64bits/
quelle
_imagingft.c:73:31: fatal error: freetype/fterrors.h: No such file or directory
Fehler sehen, verlinken Sie einfach eine weitere Bibliothek:ln -s /usr/include/freetype2 /usr/include/freetype2/freetype
(Ich glaube, das passiert, wenn Sie habenapt-get install python-imaging
)Ich bin auf dasselbe Problem gestoßen. Es scheint mir, dass Kissen und Kissen (unterschiedlicher Fall in 'p') zwei verschiedene Pakete sind. Wenn Sie also Pillow verwenden,
pip install pillow
hilft dies möglicherweise nicht. Hier ist meine Lösung:Die ersten beiden Zeilen dienen zum Entfernen von Kissen oder Kissenverpackungen.
Die dritte Zeile besteht darin, die beiden erforderlichen Pakete zu installieren.
Viertens wird Pillow neu installiert.
Hinweis: Wenn Sie virtualenv verwenden,
pip install/uninstall
muss es unter virtualenv ausgeführt werdenquelle
Ich habe dies unter OS X Mavericks folgendermaßen behoben:
Gebräu installieren:
http://brew.sh/
Installieren Sie pip:
http://www.pip-installer.org/en/latest/installing.html
Mit diesen können Sie Folgendes tun:
sudo brew install lzlib # installs zlib pip uninstall PIL pip install --no-index -f http://dist.plone.org/thirdparty/ -U PIL
Danach funktionierte es gut. Eine Erklärung der dritten Zeile finden Sie in dieser Antwort:
https://stackoverflow.com/a/2486396/290072
quelle
auf Mac
sudo brew install lzlib # installs zlib pip uninstall PIL pip install PIL
quelle
sudo brew install lzlib
sagt nur "brauen: Befehl nicht gefunden" auf meinem.Ich verwende die 64-Bit-Ubuntu 14.04LTS-Desktop-Version und habe die Antwort von Johnny Zhao ausprobiert.
Wann
exec sudo easy_install PIL
Ich habe eine Fehlermeldung erhalten:
can't find freetype/fterrors.h
und ich finde freetype2 in / usr / include /
Sie könnten es lösen durch:
dann wird die Installation erfolgreich sein
quelle
apt-get install python-imaging
. Wenn Sie nurlibjpeg-dev libfreetype6-dev zlib1g-dev
alleine ohne Python-Imaging installieren , wird dieser Fehler nicht angezeigt.Die Ursache kann sein, dass Sie Pillow ohne zlib-Unterstützung installiert haben.
Unter CentOS 7:
Und wenn Sie für eine Webanwendung verwenden, starten Sie Ihren Webserver neu, um ihn anzuwenden.
quelle
In meinem Fall stelle ich nur Python-Image wieder her, stelle sicher, dass libz bereit ist, und installiere PIL neu. Weitere Details finden Sie in meinem Beitrag hier:
http://febru.soluvas.com/2014/03/solved-openerp-7-ioerror-decoder-zip.html
quelle
Mac OS X PIL JEPG- und PNG-Probleme (wie bei Linux OS ), dieser Beitrag hilft mir bei PNG- und JPEG-Problemen mit PIL: Decoder-Zip nicht verfügbar und Decoder- JPEG nicht verfügbar
Stellen Sie sicher, dass JPEG und ZLIB verfügbar sind, wenn Sie PIL installieren / neu installieren:
$ 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 --------------------------------------------------------------------
quelle
Ich habe die Version 2.8.0 ausprobiert, es funktioniert gut für mich
pip install -Iv Pillow==2.8.0
quelle
Am musste
Ubuntu 18
ich installierenpillow 2.8.1
:pip install Pillow==2.8.1
quelle
Versuch:
$ 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
Ab Version 3.0.0 benötigt Pillow libjpeg. Wenn das Problem weiterhin besteht, liegt möglicherweise eine Paketinkompatibilität vor. Sparen Sie Zeit und probieren Sie die vorherige Version aus:$ pip install Pillow==2.8.1
quelle