web-dev-qa-db-fra.com

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

J'essaie d'installer Pillow (module Python) à l'aide de pip, mais l'erreur suivante est générée:

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?

154
mchfrnc

Merci @mfitzp. Dans mon cas (CentOS), ces bibliothèques ne sont pas disponibles dans le référentiel de yum, mais en réalité, 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.

33
mchfrnc

Un bogue signalé pour Pillow here , indique que libjpeg et zlib sont maintenant obligatoire à partir de Pillow 3.0.0.

Les instructions d'installation pour Pillow sur Linux donnent des conseils sur la manière d'installer ces paquets. Notez que tous les packages suivants ne sont peut-être pas manquants sur votre ordinateur (les commentaires suggèrent que seul libjpeg8-dev est réellement manquant).

pip/PyPi (Oreiller> 3.4.2)

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

Pour utiliser les roues, vous devez disposer d'une version de pip>=1.4. Si vous utilisez une version antérieure (pip --version), effectuez la mise à niveau du pip en utilisant les éléments suivants:

pip install --upgrade pip 

Une fois que pip est mis à niveau, pip install utilisera les fichiers de roue spécifiques à la plate-forme par défaut 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-dev est 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 aussi forcer la liaison de zlib en utilisant les éléments suivants:

brew link zlib --force

Mise à jour du mois d'avril 2019: Dans Mojave, ce qui précède ne fonctionnera pas et vous devrez exécuter ce qui suit extrait 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 juillet 2016: Il n'y a plus de formule pour zlib disponible dans le référentiel principal (Homebrew vous invitera à installer lzlib qui est une bibliothèque différente et ne résoudra pas ce problème).

Il is une formule disponible dans le référentiel dupes. Vous pouvez soit appuyer sur ce référentiel, puis installer normalement:

brew tap homebrew/dupes
brew install zlib

Ou vous pouvez installer zlib via xcode, comme suit:

xcode-select --install

Merci à Phoenix, Panos Angelopoulou, Nelsonvarela, Benjaminz et Kal dans les commentaires

Une fois ceux-ci installés, l’installation de pip de Pillow devrait fonctionner normalement.

300
mfitzp

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
36
xjfengck

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

pip install --upgrade pip
12
Aman Yadav

Cela a fonctionné pour moi.

   `Sudo apt-get install libjpeg-dev`
12
Thomas John
brew install zlib

sous OS X ne fonctionne plus et invite à installer lzlib. L'installation qui n'aide pas.

Au lieu de cela, vous installez des outils de ligne de commande XCode qui doivent installer zlib

xcode-select --install
10
Kal

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

Je voudrais donc essayer de mettre à jour les outils avant toute autre chose.

Cela peut être fait en utilisant:

pip install --upgrade pip
6
Brambor

Cela a fonctionné pour moi pour résoudre l'erreur jpeg et zlib:

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

L'alternative, si vous ne voulez pas installer libjpeg:

CFLAGS="--disable-jpeg" pip install pillow

De https://pillow.readthedocs.io/fr/3.0.0/installation.html#external-libraries

2
shangxiao

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
0