Fehler bei der Installation von Pillow (Python-Modul) unter Linux


165

Ich versuche, Pillow (Python-Modul) mit pip zu installieren, aber es wird der folgende Fehler ausgegeben:

ValueError: jpeg is required unless explicitly disabled using --disable-jpeg, aborting

Wie der Fehler sagt, habe ich versucht:

pip install pillow --global-option="--disable-jpeg"

Aber es scheitert mit:

error: option --disable-jpeg not recognized

Irgendwelche Hinweise, wie man damit umgeht?

Antworten:


322

Es ist ein Fehler für Kissen berichtet hier , die die angibt , libjpegund zlibsind jetzt erforderlich , wie von Kissen 3.0.0.

Die Installationsanweisungen für Pillow unter Linux geben Hinweise zur Installation dieser Pakete. Beachten Sie, dass möglicherweise nicht alle der folgenden Pakete auf Ihrem Computer fehlen (Kommentare deuten darauf hin, dass nur libjpeg8-devtatsächlich etwas fehlt).

pip / PyPi (Kissen> 3.4.2)

Die neuesten Versionen von Pillow sind auf PyPi als Räder erhältlich - der neue Standardverpackungsmechanismus für Python. Diese vorgefertigten Pakete enthalten alle erforderlichen binären Abhängigkeiten, damit Pillow ausgeführt werden kann, und sollten verwendet werden, wenn Sie Pillow mit PyPi installieren möchten

Um Räder verwenden zu können, benötigen Sie eine Version von pip>=1.4. Wenn Sie eine frühere Version ( pip --version) verwenden, aktualisieren Sie pip wie folgt:

pip install --upgrade pip 

Nach dem pipUpgrade pip installwerden standardmäßig plattformspezifische Raddateien verwendet, sofern diese verfügbar sind. Verwenden Sie den folgenden Befehl, um Pillow auf die neueste Version von PyPi zu aktualisieren:

pip install --upgrade pillow

Ubuntu 12.04 LTS oder Raspian Wheezy 7.0

sudo apt-get install libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev python-tk

Ubuntu 14.04

sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

Ubuntu 18.04

sudo apt install libjpeg8-dev zlib1g-dev

Fedora 20

Das Fedora 20-Äquivalent von libjpeg8-devist libjpeg-devel.

sudo yum install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel

Mac OS X (über Homebrew)

Unter Mac OS X mit Homebrew kann dies behoben werden mit:

brew install libjpeg zlib

Möglicherweise müssen Sie zlib auch mit den folgenden Methoden erzwingen:

brew link zlib --force

Update April 2019: In Mojave funktioniert das oben Gesagte nicht und Sie müssen Folgendes ausführen, wie aus diesem Fehlerbericht auf Pillow entnommen

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

Update Juli 2016:zlib Im Haupt-Repository ist keine Formel mehr verfügbar (Homebrew fordert Sie zur Installation lzlibeiner anderen Bibliothek auf und löst dieses Problem nicht).

Es ist eine Formel , in der Betrogenen Repository. Sie können entweder auf dieses Repository tippen und wie gewohnt installieren:

brew tap homebrew/dupes
brew install zlib

Oder Sie können installieren zlibvia xcodestattdessen wie folgt:

xcode-select --install

Dank Phoenix, Panos Angelopoulou, Nelsonvarela, Benjamin und Kal in den Kommentaren

Nach der Installation sollte die Rohrinstallation von Pillow normal funktionieren.


2
Könnte libjpeg8-devgut sein.
Matheus Portela

3
Ich hatte das gleiche Problem für Mac OS X. Ich löse es bei der Ausführung brew install libjpeg brew install zlib
Panos Angelopoulos

2
Besser libjpeg-dev installieren - ohne '8', dann auch festgestellt, dass zlib1g-dev auch fehlte. sudo apt-get install libjpeg-dev zlib1g-devNachher : Die Installation von pip Pillow funktionierte unter Mint 17.1 (= Ubuntu 14.04 LTS).
Arntg

6
Ich musste Link Zlib erzwingen:brew link zlib --force
Nelsonvarela

2
brew install zlibfunktioniert auf einigen Macs nicht mehr, die unten stehende Lösung xcode-select --installscheint den Trick zu tun. Bitte aktualisieren Sie Ihre Lösung, da sie die umfassendste und die erste Lösung ist, die Besucher sehen. Vielen Dank für Ihre Arbeit!
Benjamin

37

Auf Raspberry pi II hatte ich das gleiche Problem. Nachdem ich Folgendes versucht hatte, löste ich das Problem. Die Lösung ist:

sudo apt-get update
sudo apt-get install libjpeg-dev

sudo apt-get install libjpeg-dev funktionierte auch für Ubuntu 14):
Amir

34

Danke @mfitzp. In meinem Fall (CentOS) sind diese Bibliotheken nicht im Yum Repo verfügbar, aber tatsächlich war die Lösung noch einfacher. Was ich getan habe:

sudo yum install python-devel
sudo yum install zlib-devel
sudo yum install libjpeg-turbo-devel

Und jetzt ist die Installation des Kissens erfolgreich abgeschlossen.


1
Danke, das hat bei mir funktioniert, obwohl ich die Python-Entwicklung
Dustfinger - Reinstate Monica

1
Hat auch für mich funktioniert, musste nur das libjpeg-turbo-devel-Paket installieren!
Kaycee

Arbeitete auf CentOS 7 wie ein Zauber!
Raptor

Diese Python-Entwicklung war auf einer Amazon Linux Yum-Maschine nicht erforderlich. Ich denke, der letzte libjpeg-turbo-devel war das fehlende Paket.
Neeraj Gupta

12

Die schnellste Lösung ist das Upgrate des Pip. Hat für mich gearbeitet:

pip install --upgrade pip

arbeitete für mich. Pip Install Pillow (wenn nicht funktioniert Cache durch Pip installieren - Pip aktualisieren) Dann erneut ausführen Pip Install Pillow
Tzvi Gregory Kaidanov

Das hat auch bei mir funktioniert. Ich habe Python 2.6.6 und 3.5.1 auf einer CentOS-VM und lief pip3.5 install --upgrade pip3.5. Danach pip3.5 install pillowlief es ohne Probleme und behielt die Integrität der Python2- und Python3-Installationen bei.
Evan


10
brew install zlib

unter OS X funktioniert nicht mehr und fordert stattdessen zur Installation auf lzlib. Die Installation hilft nicht.

Stattdessen installieren Sie die XCode-Befehlszeilentools, die installiert werden sollten zlib

xcode-select --install

Ein bisschen mehr Erklärung wäre viel hilfreicher.
Benjamin

9

Dies funktionierte für mich, um JPEG- und Zlib-Fehler zu beheben:

C:\Windows\system32>pip3 install pillow --global-option="build_e
xt" --global-option="--disable-zlib" --global-option="--disable-jpeg"

1
Ich musste Pillow in einer Umgebung installieren, in der ich keinen Root-Zugriff habe - dies ist die Lösung, die für mich funktioniert hat.
Nielk

6

Ich hatte das ValueError: zlib is required unless explicitly disabled using --disable-zlibaber Upgrade Pip von 7.x auf 8.y das Problem behoben.

Also würde ich versuchen, Tools vor allem anderen zu aktualisieren.

Dies kann erfolgen mit:

pip install --upgrade pip


0

Versuchen

pip install pillow

Wenn es nicht funktioniert, löschen Sie das

cache by pip install --upgrade pip

Dann wieder laufen

pip install pillow

-2

Auf debian / ubuntu benötigen Sie nur: libjpeg62-turbo-dev

Also eine einfache sudo apt install libjpeg62-turbo-dev und einepip install pillow

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.