37 votes

Installation de PIL avec prise en charge JPEG sur Mac OS X

J'ai posté une question à ce sujet, et de lire d'autres à posté avant, mais aucun n'a réussi à résoudre mon problème.

Je suis en train d'installer PIL sur Mac OS X Lion, comme j'en ai besoin pour une application Django. J'ai aussi besoin de JPEG de soutien, j'ai donc besoin d'un décodeur JPEG ainsi.

J'ai essayé de télécharger la libjpeg sources et les compiler et installer PIL, mais il ne reconnaît pas le répertoire.

Donc ce que je voudrais, et je crois qu'il existe quelque part, est une méthode pour installer les deux PIL et libjpeg avec un programme d'installation du package, sans la nécessité d'une compilation que ce soit!

Je vous remercie à l'avance pour toutes les réponses.

93voto

AnnW Points 711

Dans notre environnement virtuel, nous avons constaté que tout ce dont nous avions besoin était:

 pip uninstall PIL
brew install libjpeg
pip install PIL
 

ce qui est plus simple que certains des précédents et peut être suffisant pour d’autres avec ce problème aussi. Bien qu'il y ait eu un avertissement xcode sur l'infusion et un paquet setup.py sur la réinstallation de PIL, tous les tests qui échouaient auparavant avec des erreurs de décodage jpeg ont été exécutés avec succès juste après l'action rapide ci-dessus.

18voto

Density 21.5 Points 1449

J'ai installé libjpeg et PIL sur la Neige et il a été migré sans problèmes de Lion.

Je pense cependant que vous avez le même problème, j'ai fait face à l'installation de libjpeg 7 sur Neige. La solution pour moi a été :

  • Assurez-vous que vous n'êtes PAS à l'aide de GCC 4.0. Cela signifie que ceux à l'exportation lignes dans votre .bash_profile fichier que vous avez besoin pour obtenir MySQLdb travail maintenant besoin d'aller loin.
  • get (http://www.ijg.org/files/jpegsrc.v7.tar.gz) et faire l'habitude ./configure && make && make install (ou quel que soit le readme dit).
  • Avant d'installer PIL, mais après l'installation de libjpeg, de changer le "JPEG_ROOT = None" dans mon setup.py le fichier "JPEG_ROOT = libinclude("/usr/local")"

Je l'ai obtenu à partir d'un commentaire sur ce blog.

Ensuite, vous pouvez réinstaller PIL par pip ou easy_install. Assurez-vous que tous les compilées choses à partir de votre dernière course est supprimé (parfois vous avez besoin de le faire manuellement). J'ai utilisé virtualenv et pip.

16voto

Jian Points 1323

Assurez-vous que vous avez homebrew et pip, puis exécutez:

 brew install libjpeg
pip install pil
 

11voto

zeantsoi Points 11747

J'ai utilisé le binaire suivante pour obtenir libpng et libjpeg installé à l'échelle du système sur OSX:

libpng & 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:

Si vous rencontrez l'erreur encoder jpeg not available, vous devrez peut-être installer libjpeg. Si vous utilisez Homebrew:

brew install libjpeg

3voto

kungphu Points 444

Il est intéressant de noter et d’avoir de bonnes informations à avoir lorsque vous travaillez avec Python et PIL: Si vous utilisez virtualenv (et je pense que c’est une très bonne idée), PIL risque de ne pas détecter correctement les bibliothèques d’images sur votre système et de l’installer sans le support JPEG / PNG. Utilisez le paquet d'oreillers pour une fourche PIL compatible qui les trouve correctement.

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