390 votes

Comment installer PIL avec pip sur Mac OS ?

J'essaie d'installer PIL (the Python Imaging Library) en utilisant la commande :

sudo pip install pil

mais je reçois le message suivant :

Downloading/unpacking PIL
  You are installing a potentially insecure and unverifiable file. Future versions of pip will default to disallowing insecure files.
  Downloading PIL-1.1.7.tar.gz (506kB): 506kB downloaded
  Running setup.py egg_info for package PIL
    WARNING: '' not a valid package name; please use only.-separated package names in setup.py

Installing collected packages: PIL
  Running setup.py install for PIL
    WARNING: '' not a valid package name; please use only.-separated package names in setup.py
    --- using frameworks at /System/Library/Frameworks
    building '_imaging' extension
    clang -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -IlibImaging -I/System/Library/Frameworks/Python.framework/Versions/2.7/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.8-intel-2.7/_imaging.o
    unable to execute clang: No such file or directory
    error: command 'clang' failed with exit status 1
    Complete output from command /usr/bin/python -c "import setuptools;__file__='/private/tmp/pip_build_root/PIL/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-AYrxVD-record/install-record.txt --single-version-externally-managed:
    WARNING: '' not a valid package name; please use only.-separated package names in setup.py

running install

running build

.
.
.
.

copying PIL/XVThumbImagePlugin.py -> build/lib.macosx-10.8-intel-2.7

running build_ext

--- using frameworks at /System/Library/Frameworks

building '_imaging' extension

creating build/temp.macosx-10.8-intel-2.7

creating build/temp.macosx-10.8-intel-2.7/libImaging

clang -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -IlibImaging -I/System/Library/Frameworks/Python.framework/Versions/2.7/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.8-intel-2.7/_imaging.o

unable to execute clang: No such file or directory

error: command 'clang' failed with exit status 1

----------------------------------------
Cleaning up…

Pourriez-vous m'aider à installer PIL ?

1 votes

Avez-vous installé Xcode et ensuite les outils de ligne de commande de Xcode ? Il semble que vous n'ayez pas le compilateur clang.

0 votes

Le référentiel LIP n'est pas sur pip

672voto

FogleBird Points 23405
  1. Installez Xcode et Xcode Command Line Tools comme indiqué.
  2. Utilisez plutôt l'oreiller, car la LIP est pratiquement morte. Pillow est un fork maintenu de PIL.

https://pypi.org/project/Pillow/

pip install Pillow

Si vous avez les deux Python installés et que vous voulez l'installer pour Python3 :

python3 -m pip install Pillow

5 votes

J'ai un clang sur OSX Mavericks lorsque j'ai essayé, mais j'ai trouvé cette réponse qui m'a aidé : stackoverflow.com/a/22322645/16959

41 votes

Bien que cette réponse soit valable et utile, elle ne répond pas vraiment à la question. Pour ceux d'entre nous qui sont en train de réhabiliter de vieux projets qui peuvent nécessiter de remplir une dépendance LIP juste pour pouvoir trouver la prochaine chose qui va casser, nous avons en fait besoin d'obtenir la dépendance réelle (et parfois même d'obtenir une version spécifique sur laquelle quelqu'un a construit un hack).

3 votes

@Namey Le portage du code PIL existant vers Pillow peut être réalisé. facilement . Port PIL à Oreiller . Pillow est basé sur le code PIL, et a évolué vers une version améliorée, moderne et plus conviviale de PIL.

63voto

madjardi Points 475

Cela fonctionne pour moi :

apt-get install python-dev
apt-get install libjpeg-dev
apt-get install libjpeg8-dev
apt-get install libpng3
apt-get install libfreetype6-dev
ln -s /usr/lib/i386-linux-gnu/libfreetype.so /usr/lib
ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib
ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib

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

9 votes

Sur les plateformes 64 bits, le chemin lié doit être différent -- par exemple /usr/lib/x86_64-linux-gnu/libfreetype.so . Pour une solution plus indépendante de l'architecture, créez les liens comme suit # ln -s /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/

0 votes

Toujours le même problème pour les en-têtes d'images : _imagingft.c:73:31 : fatal error : freetype/fterrors.h : No such file or directory #include <freetype/fterrors.h> Il faut donc installer python-imaging via pip.

0 votes

Toujours un problème dans les en-têtes freetype comme ceux mentionnés ici [ askubuntu.com/questions/507459/ ? SOlution : cd /usr/include ln -s freetype2 freetype

35voto

Ryan Lee Points 41

Sous Mac OS X, utilisez cette commande :

sudo pip install https://effbot.org/media/downloads/Imaging-1.1.7.tar.gz

0 votes

Cela a également fonctionné sur debian jessy, il fallait juste installer python-dev au préalable :)

1 votes

J'ai dû installer libjpeg d'abord : brew install libjpeg

0 votes

Enfin une vraie solution. Mon Mac n'a pas apt-get :p, et je veux installer dans un virtualenv de toute façon.

26voto

ismailsunni Points 83

J'ai trouvé la réponse dans une discussion ici :

J'ai essayé

pip install --no-index -f http://dist.plone.org/thirdparty/ -U PIL

et ça a marché.

8 votes

Pensez à utiliser ceci : pip install --no-index -f http://effbot.org/downloads/ -U PIL --trusted-host effbot.org La raison pour laquelle j'ai utilisé celle-ci est qu'il s'agit de l'URL listée par le paquet et sur le site web de l'entreprise. pypi.python.org/pypi/PIL

1 votes

J'ai reçu un avertissement pour utiliser HTTPS au lieu de HTTP. Après avoir modifié l'URL, tout s'est bien passé.

0 votes

@TomMyddeltyn Cela a presque fonctionné sauf que j'ai eu une erreur de compilation où il ne peut pas trouver X11/Xlib.h.

6voto

Kedar.Aitawdekar Points 391

J'ai le même problème, mais il se résout avec l'installation de python-dev .

Avant d'installer le LIP, exécutez la commande suivante :

sudo apt-get install python-dev

Ensuite, installez PIL :

pip install PIL

11 votes

Cela n'a pas fonctionné pour moi sur Ubuntu 14. pip install pil résulte en No distributions at all found for PIL que j'installe python-dev en premier ou non.

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