56 votes

PIL / JPEG Library / Help!

J'ai essayé d'utiliser PIL pour effectuer des travaux au format JPEG dans mon application django avec PIL, mais je reçois cet IOError .. je ne sais pas quoi faire.

 ""decoder jpeg not available""
 

Le décodeur JPEG de mon serveur me manque-t-il? Si oui, comment puis-je résoudre ce problème?

73voto

Anton Danilchenko Points 1012

J'ai trouvé cette réponse de l'auteur "edward"

Sur Ubuntu precise, PIL ne trouve pas la bibliothèque jpeg fichiers, même une fois qu'ils sont installés. La façon la plus simple de résoudre ce problème est de faire un lien symbolique après avoir installé le fichier jpeg dev paquet. Donc, j'ai besoin d'une étape supplémentaire:

pour le système d'exploitation x64

pip uninstall PIL
sudo apt-get install libjpeg8-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
pip install PIL

pour x32 OS

pip uninstall PIL
sudo apt-get install libjpeg8-dev
sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib
pip install PIL

Je confirme que cela fonctionne pour moi sous Ubuntu Linux 12.04.


Si vous êtes un Mac user - vous besoin d'installer Xcode et Outils de Ligne de Commande. Lire comment faire

60voto

Victor Lin Points 3276

Vous devez d'abord installer la bibliothèque jpeg, puis réinstaller votre PIL. Par exemple, j'utilise CentOS, pour installer libjpeg, je lance

 sudo yum install -y libjpeg-devel
 

Cela dépend de quel type de linux vous utilisez. Et ici, vous devez enlever l'ancien PIL

 rm -rf /usr/lib/python2.6/site-packages/PIL-1.1.7-py2.6-linux-x86_64.egg/
 

Puis installez le PIL

 sudo easy_install PIL
 

20voto

Bryce Points 1709

Une réponse plus forte peut être trouvé à installer pil sur virtualenv avec libjpeg

Pour moi, ce qui a finalement travaillé sur Ubutu était:

pip uninstall PIL
sudo apt-get install libjpeg8-dev
pip install PIL

Le Python Imaging Library (PIL) semble vraiment pointilleux à propos de la version et de l'emplacement de l'jpeg bibliothèques. Et parce que la LIP est écrit en C et compilé, vous devez le développement de versions de la bibliothèque, en plus des versions du moteur d'exécution.

6voto

Chase Roberts Points 717

Je n'ai pas de privilèges sudo, car je suis sur un serveur bluehost partagé. Je ne peux donc exécuter aucune de ces commandes sudo apt-get jpeg. J'ai fini par courir

 pip uninstall pil
pip install pillow
 

et apparemment, pillow a pu trouver un support pour les jpegs.

3voto

cmaluenda Points 31

Pour les utilisateurs de mac, vous pouvez télécharger la bibliothèque à partir d'ici: http://ethan.tira-thompson.com/Mac_OS_X_Ports.html . Ensuite, désinstallez et installez PIL

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