Échec lors de l'installation de Pillow (module Python) sous Linux

165

J'essaie d'installer Pillow (module Python) à l'aide de pip, mais cela génère cette erreur:

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

Donc, comme le dit l'erreur, j'ai essayé:

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

Mais cela échoue avec:

error: option --disable-jpeg not recognized

Des astuces pour y faire face?

mchfrnc
la source

Réponses:

325

Il y a un bug rapporté pour Pillow ici , qui indique que libjpeget zlibsont maintenant requis à partir de Pillow 3.0.0.

Les instructions d'installation de Pillow sous Linux donnent des conseils sur la façon d'installer ces paquets. Notez que tous les packages suivants peuvent ne pas être manquants sur votre ordinateur (les commentaires suggèrent que seul libjpeg8-devest réellement manquant).

pip / PyPi (Oreiller> 3.4.2)

Les dernières versions de Pillow sont disponibles sur PyPi sous forme de roues - le nouveau mécanisme d'emballage standard pour Python. Ces packages prédéfinis incluent toutes les dépendances binaires nécessaires pour permettre à Pillow de s'exécuter et doivent être utilisés si vous souhaitez installer Pillow à l'aide de PyPi

Pour utiliser des roues, vous devez disposer d'une version de pip>=1.4. Si vous utilisez une version antérieure ( pip --version), mettez à niveau pip en utilisant ce qui suit:

pip install --upgrade pip 

Une fois pipmis à niveau, pip installutilisera par défaut des fichiers de roues spécifiques à la plate-forme s'ils sont disponibles. Utilisez la commande suivante pour mettre à niveau Pillow vers la dernière version disponible sur PyPi:

pip install --upgrade pillow

Ubuntu 12.04 LTS ou 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

L'équivalent Fedora 20 de libjpeg8-devest libjpeg-devel.

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

Mac OS X (via Homebrew)

Sur Mac OS X avec Homebrew, cela peut être corrigé en utilisant:

brew install libjpeg zlib

Vous devrez peut-être également forcer le lien zlib en utilisant ce qui suit:

brew link zlib --force

Mise à jour avril 2019: Dans Mojave, ce qui précède ne fonctionnera pas et vous devez exécuter ce qui suit comme tiré de ce rapport de bogue sur Pillow

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

Mise à jour de juillet 2016: Il n'y a plus de formule pour zlibdisponible dans le référentiel principal (Homebrew vous demandera d'installer lzlibqui est une bibliothèque différente et ne résoudra pas ce problème).

Il existe une formule disponible dans le référentiel dupes . Vous pouvez soit appuyer sur ce référentiel et installer comme d'habitude:

brew tap homebrew/dupes
brew install zlib

Ou vous pouvez installer zlibvia à la xcodeplace, comme suit:

xcode-select --install

Merci à phoenix, Panos Angelopoulou, nelsonvarela, benjaminz et Kal dans les commentaires

Une fois ceux-ci installés, l'installation des pépins de Pillow devrait fonctionner normalement.

mfitzp
la source
2
Ça libjpeg8-devpourrait être bien.
Matheus Portela
3
J'étais confronté au même problème pour Mac OS X. Je le résous en exécutant brew install libjpeg brew install zlib
Panos Angelopoulos
2
Mieux vaut installer libjpeg-dev - sans '8', puis a également constaté que zlib1g-dev manquait aussi. Après: sudo apt-get install libjpeg-dev zlib1g-devl'installation de pip Pillow a fonctionné sur Mint 17.1 (= Ubuntu 14.04 LTS).
arntg
6
J'ai dû forcer le lien zlib:brew link zlib --force
nelsonvarela
2
brew install zlibne fonctionne plus sur certains Mac, la solution ci-dessous xcode-select --installsemble faire l'affaire, veuillez mettre à jour votre solution car elle est la plus inclusive et la première solution que les visiteurs voient. Merci beaucoup pour votre travail!
benjaminz
37

Sur Raspberry pi II, j'ai eu le même problème. Après avoir essayé ce qui suit, j'ai résolu le problème. La solution est:

sudo apt-get update
sudo apt-get install libjpeg-dev
xjfengck
la source
sudo apt-get install libjpeg-dev a également fonctionné pour Ubuntu 14):
Amir
34

Merci @mfitzp. Dans mon cas (CentOS), ces bibliothèques ne sont pas disponibles dans le repo yum, mais en fait, la solution était encore plus simple. Ce que j'ai fait:

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

Et maintenant, l'installation de l'oreiller se termine avec succès.

mchfrnc
la source
1
Merci qui a fonctionné pour moi même si je n'avais pas besoin du python-devel
Dustfinger - Reinstate Monica
1
Cela a fonctionné pour moi aussi, juste besoin d'installer le paquet libjpeg-turbo-devel!
kaycee
A travaillé sur CentOS 7 comme un charme!
Raptor
Ce python-devel n'était pas requis sur la machine amazon linux yum. Je pense que le dernier libjpeg-turbo-devel était le paquet manquant.
Neeraj Gupta
12

La solution la plus rapide consiste à améliorer le pip. A travaillé pour moi:

pip install --upgrade pip
Aman Yadav
la source
travaillé pour moi. Pip install Pillow (s'il ne fonctionne pas, effacez le cache par pip install --upgrade pip) Puis réexécutez Pip install Pillow
Tzvi Gregory Kaidanov
Cela a également fonctionné pour moi. J'ai Python 2.6.6 et 3.5.1 sur une machine virtuelle CentOS, et j'ai couru pip3.5 install --upgrade pip3.5. Après cela, pip3.5 install pillows'est exécuté sans aucun problème et a maintenu l'intégrité des installations Python2 et Python3.
Evan
12

Cela a fonctionné pour moi.

   `sudo apt-get install libjpeg-dev`
Thomas John
la source
10
brew install zlib

sur OS X ne fonctionne plus et invite à la place à installer lzlib. L'installation n'aide pas.

Au lieu de cela, vous installez les outils de ligne de commande XCode et cela devrait installer zlib

xcode-select --install
Kal
la source
Un peu plus d'explications serait beaucoup plus utile.
benjaminz le
9

Cela a fonctionné pour moi pour résoudre les erreurs jpeg et zlib:

C:\Windows\system32>pip3 install pillow --global-option="build_e
xt" --global-option="--disable-zlib" --global-option="--disable-jpeg"
B-shan
la source
1
J'avais besoin d'installer Pillow sur un environnement où je n'ai pas d'accès root - c'est la solution qui a fonctionné pour moi.
Nielk
6

J'ai eu le ValueError: zlib is required unless explicitly disabled using --disable-zlibmais la mise à niveau de pip de 7.x à 8.y a résolu le problème.

J'essaierais donc de mettre à jour les outils avant toute autre chose.

Cela peut être fait en utilisant:

pip install --upgrade pip
Brambor
la source
0

Essayer

pip install pillow

Si cela ne fonctionne pas, essayez d'effacer le

cache by pip install --upgrade pip

Puis à nouveau courir

pip install pillow
Tzvi Gregory Kaidanov
la source
-2

Sur debian / ubuntu, vous n'avez besoin que de: libjpeg62-turbo-dev

Donc un simple sudo apt install libjpeg62-turbo-dev et unpip install pillow

Dean Brown
la source