PIL unterstützt JPEG in meinem System.
Bei jedem Upload schlägt mein Code fehl mit:
File "PIL/Image.py", line 375, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available
Wie kann ich das beheben?
Antworten:
libjpeg-dev ist erforderlich, um JPEGs mit Pillow (oder PIL) verarbeiten zu können. Sie müssen es also installieren und das Pillow neu kompilieren. Es scheint auch, dass libjpeg8-dev unter Ubuntu 14.04 benötigt wird
Wenn Sie immer noch PIL verwenden, sollten Sie heutzutage wirklich Kissen verwenden.
pip uninstall PIL
Bevor Sie diese Anweisungen befolgen, um zu wechseln, oder wenn Sie einen guten Grund haben, bei PIL zu bleiben, ersetzen Sie "Kissen" durch "PIL" im Folgenden ).Unter Ubuntu:
Wenn dies nicht funktioniert, versuchen Sie eine der folgenden Möglichkeiten, je nachdem, ob Sie 64-Bit- oder 32-Bit-Ubuntu verwenden.
Für Ubuntu x64:
Oder für Ubuntu 32bit:
Installieren Sie dann das Kissen neu:
(Änderungen, um Feedback von Kommentaren aufzunehmen. Vielen Dank an Charles Offenbacher, der darauf hingewiesen hat, dass dies für 32-Bit-Versionen unterschiedlich ist, und an T-Mart, der die Verwendung von vorgeschlagen hat.
--no-cache-dir
)quelle
pip install
beim ersten Mal sehr langwierig , aber nachfolgende Deinstallationen und (Neu-) Installationen waren verdächtig schnell. Wie auch immer , die oben genannten Methoden haben bei mir erst funktioniert, als ich gelaufen binpip install --no-cache-dir pillow
. Viel Glück!Für diejenigen unter OSX habe ich die folgende Binärdatei verwendet, um libpng und libjpeg systemweit zu installieren:
libpng & libjpeg für OSX
Da ich PIL bereits installiert hatte (über pip auf einer virtuellen Umgebung), lief ich:
Dies hat den
decoder JPEG not available
Fehler für mich behoben .UPDATE (24.04.14) :
Neuere Versionen von pip erfordern zusätzliche Flags, um Bibliotheken (einschließlich PIL) von externen Quellen herunterzuladen. Versuche Folgendes:
Weitere Informationen finden Sie in der folgenden Antwort: pip install PIL wird nicht in virtualenv installiert
UPDATE 2 :
Unter OSX Mavericks möchten Sie das
ARCHFLAGS
Flag als @ RicardoGonzales-Kommentar unten setzen :quelle
Dies ist der einzige Weg, der für mich funktioniert hat. Das Installieren von Paketen und das Neuinstallieren von PIL hat nicht funktioniert.
Installieren Sie auf Ubuntu das erforderliche Paket:
(Möglicherweise möchten Sie auch installieren
libfreetype6 libfreetype6-dev zlib1g-dev
, um andere Decoder zu aktivieren.)Dann ersetzen Sie PIL durch Kissen:
quelle
pip install pillow --upgrade
.Die folgenden Arbeiten unter Ubuntu 12.04:
Wenn Sie "- JPEG-Unterstützung verfügbar" sehen, bedeutet dies, dass es funktioniert.
Aber wenn es beim Bearbeiten Ihres JPEG-Bildes immer noch nicht funktioniert, überprüfen Sie den Python-Pfad !! Mein Python-Pfad ist fehlgeschlagen
/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/
, daher bearbeite ich~/.bashrc
den folgenden Code zu dieser Datei hinzufügen:Bearbeiten:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/
dann endlich klappt es !!
quelle
Auf Fedora 17 musste ich installieren
libjpeg-devel
und anschließend neu installierenPIL
:quelle
Rolos Antwort ist ausgezeichnet, aber ich musste Pillow neu installieren, indem ich den Pip-Cache (eingeführt mit Pip 7) umging, sonst wird es nicht richtig neu kompiliert !!! Der Befehl lautet:
und Sie können sehen, ob Pillow richtig konfiguriert wurde, indem Sie in den Protokollen Folgendes lesen:
Wie Sie sehen, ist die Unterstützung für JPG, TIFF usw. aktiviert, da ich zuvor die erforderlichen Bibliotheken über apt installiert habe (libjpeg-dev libpng12-dev libfreetype6-dev libtiff-dev).
quelle
Unter Mac OS X Mavericks (10.9.3) habe ich dies folgendermaßen gelöst:
Installieren Sie libjpeg by Brew (Paketverwaltungssystem)
Kissen neu installieren (ich verwende Kissen anstelle von PIL)
quelle
brew unlink jpeg && brew link jpeg
vor der Installation von Pillow tun.Installieren Sie diese und stellen Sie sicher, dass Sie PIL mit pip installieren, da ich es aus dem Quellcode kompiliert habe und es aus irgendeinem Grund nicht funktioniert hat
quelle
Ich habe bereits verwendet
Pillow
und habe den gleichen Fehler erhalten. Versucht zu installierenlibjpeg
oderlibjpeg-dev
wie von anderen vorgeschlagen, aber es wurde mitgeteilt, dass bereits eine (neuere) Version installiert wurde.Am Ende war nur eine Neuinstallation erforderlich
Pillow
:quelle
Ich bin zu neu, um einen Beitrag von zeantsoi zu kommentieren
1) Installieren Sie die Xcode-Tools (öffnen Sie Ihr Terminal und führen Sie :) aus
xcode-select --install
- entnommen aus diesem Beitrag: PIL kann nach Mac OS X 10.9 nicht installiert werden2) Installieren Sie das libpng- und libjpeg-Paket (Combo-Installationsprogramm) über diesen Link: http://ethan.tira-thompson.com/Mac_OS_X_Ports.html
3) Neustart (nicht sicher, ob es obligatorisch war)
4) Installieren Sie PIL mit run neu
pip install -I PIL
(da ich PIL vor dem Problem ursprünglich installiert hatte).Hoffe diese Hilfe und verwirre nicht mehr ...
_oho
quelle
Diese Frage wurde vor einiger Zeit gestellt und die meisten Antworten sind auch ziemlich alt. Als ich stundenlang versuchte, dies herauszufinden, funktionierte nichts und ich versuchte alle Vorschläge in diesem Beitrag.
Beim Versuch, ein JPG in mein Django-Avatar-Formular hochzuladen, wurden immer noch die Standard-JPEG-Fehler angezeigt:
Dann überprüfte ich das Repository für Ubuntu 12.04 und bemerkte einige zusätzliche Pakete für
libjpeg
. Ich habe diese installiert und mein Problem wurde gelöst:Die Installation dieser entfernt
libjpeg-dev
,libjpeg-turbo8-dev
undlibjpeg8-dev
.Hoffe das hilft jemandem im Jahr 2015 und darüber hinaus!
Prost
quelle
Das gleiche Problem hier,
JPEG support available
aber immer nochIOError: decoder/encoder jpeg not available
, außer ich benutze Pillow und nicht PIL.Ich habe all das und noch mehr ausprobiert, aber nach vielen Stunden wurde mir klar, dass die Verwendung
sudo pip install
in Kombination mit nicht wie erwartet funktioniertvirtualenv
. Wie dumm von mir.Durch die
sudo
effektive Verwendung wird der Befehl in einer neuen Shell gestartet (nach meinem Verständnis ist dies möglicherweise nicht ganz korrekt), in der die virtuelle Umgebung nicht aktiviert ist. Dies bedeutet, dass die Pakete stattdessen in der globalen Umgebung installiert werden. (Das hat alles durcheinander gebracht, ich glaube ich hatte 2 verschiedene Installationen von Pillow.)Ich habe die Dinge aufgeräumt, den Benutzer in root geändert und in der virtuellen Umgebung neu installiert, und jetzt funktioniert es.
Hoffentlich hilft das jemandem!
quelle
Für Fedora
Voraussetzung
sudo dnf install make automake gcc gcc-c++ kernel-devel rpm-build libjpeg-devel zlib-devel python-devel
installieren Installieren Sie jetzt Pillow
sudo pip install pillow
Hinweis - Für libjpeg und zlib installieren wir die Pakete libjpeg-devel und zlib-devel in Fedora / CentOS / Red Hat
quelle
Zuerst musste ich die Python-Ordner im versteckten Ordner user / appData löschen (was große Kopfschmerzen verursachte) und Python deinstallieren. Dann habe ich WinPython Distribution installiert: http://code.google.com/p/winpython/, das PIL enthält
quelle
Für diejenigen unter Mac OS Mountain Lion folgte ich der Antwort von zeantsoi, aber es funktioniert nicht.
Am Ende hatte ich die Lösung für diesen Beitrag: http://appelfreelance.com/2010/06/libjpeg-pil-snow-leopard-python2-6-_jpeg_resync_to_restart/
Jetzt führe ich glücklich mein Skript für JPEG aus!
quelle