304 votes

Bibliothèque d’images de Python échoue avec le message « décodeur JPEG n’est pas disponible » - PIL

PIL prend-il en JPEG dans mon système.

Chaque fois que j’ai fais un téléchargement, mon code échoue avec :

Comment est-ce que je peux résoudre cela ?

488voto

Rolo Points 2571

libjpeg-dev est nécessaire pour être en mesure de traiter des fichiers jpeg avec oreiller (ou PIL), de sorte que vous besoin de l'installer puis de recompiler l'oreiller. Il semble également que libjpeg8-dev est nécessaire sur Ubuntu 14.04

Si vous êtes toujours à l'aide de PIL, alors vous devez vraiment être à l'aide d'oreiller ces jours si, donc, la première pip uninstall PIL avant de suivre ces instructions pour changer, ou si vous avez une bonne raison pour coller avec PIL alors remplacer "oreiller" avec "PIL" dans la ci-dessous).

Sur Ubuntu:

# install libjpeg-dev with apt
sudo apt-get install libjpeg-dev

# reinstall pillow
pip install -I pillow

Si cela ne fonctionne pas, essayez l'un des ci-dessous, selon que vous êtes sur 64 bits ou 32 bits d'Ubuntu (merci Charles Offenbacher de remarquer cette diffère pour les 32 bits).

Pour Ubuntu x64:

sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib

Ou pour Ubuntu 32 bits:

sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib/
sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so.6 /usr/lib/
sudo ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib/

Puis réinstaller oreiller:

pip install -I pillow

63voto

zeantsoi Points 11747

Pour ceux qui sont sur OSX, j'ai utilisé le binaire suivante pour obtenir libpng et libjpeg installé à l'échelle du système:

libpng et libjpeg pour OSX

Parce que j'ai déjà eu PIL installé (via pip sur un virtualenv), j'ai couru:

pip uninstall PIL
pip install PIL --upgrade

Cette résolu le decoder JPEG not available d'erreur pour moi.

Mise à JOUR (4/24/14):

Des versions plus récentes de pip nécessitent des indicateurs supplémentaires à télécharger les bibliothèques (y compris les paiements tenant lieu d'idfc) à partir de sources externes. Essayez les solutions suivantes:

pip install PIL --allow-external PIL --allow-unverified PIL

Voir la réponse suivante pour plus d'infos: pip install PIL ne pas installer dans virtualenv

Mise à JOUR 2:

Si sur OSX Mavericks, vous devrez définir l' ARCHFLAGS drapeau comme @RicardoGonzales commentaires ci-dessous:

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install PIL --allow-external PIL --allow-unverified PIL

29voto

Denis Golomazov Points 1211

C’est le seul moyen qui a fonctionné pour moi. Installation de packages et de réinstaller le PIL n’a pas fonctionné.

Sur ubuntu, installer le paquet nécessaire :

(vous pouvez également installer `` pour permettre d’autres décodeurs).

Puis remplacez PIL avec oreiller :

21voto

Jason Huang Points 139

Le suivi fonctionne sur ubuntu 12.04 :

Lorsque votre voir «--JPEG soutien disponible » cela signifie que cela fonctionne.

Mais, si cela ne fonctionne toujours pas quand votre modifier votre image jpeg, vérifiez le chemin d’accès de python ! mon chemin de python manqué , donc je l’ai modifier la Ajouter le code suivant dans ce fichier :

Edit :``

puis, finalement, ça marche !!

16voto

Bengt Points 2327

J’ai dû installer sur Fedora 17 et ensuite réinstaller :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X