Installation de PIL à utiliser avec Django sur Mac OS X
Je suis vraiment agacé par l'installation de PIL (Python Imaging Library) sur Mac OS X 10.6. Quelqu'un aurait-il installé et pourrait mettre la recette ici? J'ai essayé beaucoup posté ici sur ce site et beaucoup de la part de google, mais toujours anding il manque une partie et ne peut pas travailler normalement avec PIL...
Merci à l'avance.
Ignasi
source d'informationauteur Ignas Butėnas
Vous devez vous connecter pour publier un commentaire.
EDIT: Cette réponse a été voté récemment, et je souhaite le modifier pour refléter ce que je fais maintenant.
Tout d'abord, j'ai changé à partir de MacPorts pour Homebrew pour la gestion des paquets sur Mac OS X. Ensuite, j'ai basculé de l'aide de mon gestionnaire de paquets à l'aide de pip et virtualenvwrapper à gérer mes bibliothèques Python.
Pourquoi j'ai changé:
La première fois, avec juste un peu de Django projets, il a été très facile de garder le tout à jour à l'aide de MacPorts. Il est également assez facile d'avoir plusieurs versions de Python à l'aide de
python_select
. Ce que je ne savais pas que je faisais un mauvais emploi de la conservation de plusieurs bibliothèques de travailler côte-à-côte. Il est devenu évident que j'ai mis à jour mes paquets que, parfois, je vraiment ne veulent pas d'un projet Django version de changer. Après une couple de Django 1.1 les projets (maintenant en cours d'exécution Django 1.3) commencé à présenter des comportements bizarres (les formes en défaut en raison de CSRF middleware de changements, de petites différences dans Django bibliothèques, admin app actifs qui changent, et ainsi de suite), il est devenu clair que je devrais regarder dans une meilleure solution.Ce que je fais maintenant:
Sur Mac OS X, je me suis déplacé à l'aide du pep et du virtualenvwrapper. Tout d'abord, j'ai installer virtualenvwrapper:
Ce saisira virtualenv et virtualenvwrapper. Vous devez ensuite ajouter les lignes suivantes à votre
.bashrc
ou.profile
etsource
ou ouvrir un nouveau shell.Ligne 1 définit la variable
workon
a besoin de trouver ses fichiers. Ligne 2 points pour les principaux script shell (le chemin est ici où Homebrew place le fichier, il peut être différent si vous utilisez un autre gestionnaire de paquets). La ligne 3 est facultatif, mais je l'aime vraiment: il permet de s'assurer que pas actuellement les bibliothèques installées dans le "principal" site-packages référentiel de fuite dans votre nouvel environnement virtuel. Je trouve cela permet de maintenir les choses propres et entraîne moins de surprises sur la route, car les choses se sont améliorées.La prochaine étape est de créer un nouvel environnement virtuel:
Après avoir fait de l'environnement, vous serez placés en elle. Si vous avez conservé la
--no-site-packages
drapeau, vous pouvez taperpip freeze
de voir que votre bibliothèque Python ardoise est maintenant vide. Pour s'échapper de l'environnement virtuel, utilisez ladeactivate
de commande. Pour obtenir dans votre virtualenv encore une fois, utilisezworkon testEnvironmentName
. Notez que vous pouvez utiliser la saisie semi-automatique sur le nom de l'environnement. Notez également que de taperworkon
par lui-même vous donnera une liste des environnements différents. De là, vous pouvezpip install
toutes les bibliothèques que vous voulez, y compris PIL.Pour en savoir plus sur virtualenvwrapper, Je vous recommandons de vérifier la documentation.
Voici une autre excellente ressource qui m'a beaucoup appris sur l'utilisation de virtualenvwrapper (ou simplement voir le screencast)
ORIGINAL:
Vous pouvez également installer PIL à l'aide de MacPorts. Le nom du package est
py-pil
. Voici plus d'informations sur le package. Je suis assez friand de MacPorts plus de pip, car je trouve qu'il me donne un peu plus de configurabilité quand il s'agit de garder plusieurs versions de python et de plusieurs bibliothèques installées.Voici les instructions pour l'installation de MacPorts: http://www.macports.org/install.php
Voir aussi: Ce qui est le plus compatible pour installer les modules python sur un Mac?
Étapes suivantes fonctionné pour moi:
Oui, j'ai des problèmes avec
PIL
sur10.6.6
trop,homebrew
eteasy_install
.La solution la plus simple pour moi était de
easy_install PIL
/pip install PIL
accédez à/Library/Python/2.6/site-packages/
et symlink laPIL-1.1.7-.....egg
fichier àPIL
Edit: Ces jours-ci, j'essaie d'utiliser un Oreiller, une bibliothèque construite pour permettre d'installer de PIL. Essayez
pip install pillow
- peut pas faire de mal!Il pourrait être plus facile de localiser votre question si vous pouvez élaborer sur ce que vous avez essayé et ce que les messages d'erreur ont été générés avec ces tentatives. Voici quelques solutions possibles que vous peut ou peut ne pas avoir tenté:
si vous n'avez pas pipessayez
Puisque vous êtes sur Mac, vous pouvez également obtenir des HomeBrew (un gestionnaire de paquets) et tentez de
ou Macports a un PIL ici.
Ou construire à partir de source?
Plus important encore, le PIL README unis,
*--------------------------------------------------------------------
Remarques supplémentaires pour Mac OS X
Sur Mac OS X, vous aurez généralement à installer d'autres logiciels tels que
libjpeg et freetype avec le "mouchard" de l'outil, puis il finit par en
"/sw". Si vous avez installé les bibliothèques ailleurs, vous pouvez avoir
pour ajuster l' "setup.py" fichier avant de l'immeuble.*
Que pourrait être votre problème. Bonne chance!
Après l'installation de l'OS essayé ces étapes:
Après que j'ai été capable de charger et d'enregistrer des fichiers jpeg... je sais que cette question a beaucoup de solutions différentes et je ne suis pas à 100% de ma façon de travailler pour les autres, mais il vaut la peine d'essayer si vous venez de vous cogner la tête dans le mur 🙂
Je suis sous mac OS X 10.5.8, gcc 4.2.1, python 2.7.5, libjpegv9 et Oreiller 2.1.0 (qui est basé sur la LIP).
Mon problème apparemment (mais c'est juste une supposition) a été causée par l'architecture des incompatibilités de la libjpeg et python (et Oreiller) construit.
Bâtiment python et libjpeg à partir de la source à l'aide de seulement 32 bits arc résolu. J'ai installé tous les autres bibliothèques python, Oreiller inclus, simplement en utilisant
et il a bien fonctionné.
Détails
J'ai d'abord essayé à la fois un dmg de l'python.org site et une version universelle installé via macports. Je n'avais pas spécifié universelle lors de l'installation mais macports installé les architectures i386 et ppc architectures de toute façon.
Qui m'a causé des problèmes en raison de libjpeg compile uniquement pour i386 par défaut.
Pour vérifier la génération des binaires, j'ai fait:
/usr/bin/python: Mach-O binaire universel avec 2 architectures
/usr/bin/python: Mach-O executable i386
/usr/bin/python: Mach-O executable ppc
/usr/local/lib/libjpeg.dylib: Mach-O lié dynamiquement bibliothèque partagée i386
Lors de la construction de PIL (ou Oreiller), il semble utiliser les mêmes options de compilation que python "-gcc i386 -gcc ppc" (ce qui semble logique).
Tout s'est bien passé jusqu'à ce qu'il a construit la "_imaging" module. Là, il a montré un avertissement que libjpeg.dylib n'était pas de la bonne architecture, mais en fin de compte, il a montré que le JPEG est disponible de la même façon.
Il y a un emballage de fourche de la LIP qui tente de le rendre plus facile à installer et à soutenir sur de nombreuses plateformes modernes, y compris OS X:
Vous devriez être en mesure de l'installer sur OS X avec le pip ou easy_install (en supposant que vous avez XCode). Si vous avez des problèmes, veuillez ouvrir un ticket ici:
Hey découvrez ce l'articlefait des merveilles pour moi sur Snow Leopard.
Je recommande aussi à l'aide de libjpeg 0.6 au lieu de 0,7 noté dans l'article.
Bonne chance.
J'ai des problèmes d'installation PIL avec le brassage et la easy_install sur mon Mac trop. Ma solution est de télécharger le code source à partir de http://www.pythonware.com/products/pil/extrait du goudron de balle et utiliser
de compiler et d'installer le package.