Impossible d'installer PIL après Mac OS X 10.9


132

Je viens de mettre à jour mon Mac OS à 10.9 et j'ai découvert que certains (tous?) De mes modules Python ne sont plus là, en particulier celui d'image.

J'essaye donc d'exécuter sudo pip install pil, mais j'obtiens cette erreur:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/tk.h:78:11: fatal error: 'X11/Xlib.h' file not found

#      include <X11/Xlib.h>

               ^

1 error generated.

error: command 'cc' failed with exit status 1

Mon Xcode est à jour et je n'ai aucune idée. Est-il possible que PIL ne soit pas encore compatible 10.9?


Pas de réponse, mais avez-vous essayé Pillow? pypi.python.org/pypi/Pillow/2.2.1 - c'est un très bien supporté pour de PIL.
James Addison

4
@JamesAddison Pillow 2.2.1 est effectué de la même manière.
Adam J.Forster

vous voulezpip install pillow
kilojoules

Sur macos 10.10.5 Yosemite, pip install Pillow==5.0.0fonctionne, installe .../site-packages/PIL. (Pourquoi 5.0.0? Voir le problème ).
denis

Réponses:


211

La suite a fonctionné pour moi:

ln -s  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 /usr/local/include/X11
sudo pip install pil

METTRE À JOUR:

Mais il y a une solution plus correcte ci-dessous, fournie par Will.

ouvrez votre terminal et exécutez: xcode-select --install


2
Votre réponse a une faute de frappe, ce n'est MacOS10.9.sdkpas le cas MacOS0.9.sdk.
Bryan Veloso

3
Si vous voulez également avoir un PIL / Pillow avec le support zlib / png / zip, vous devez également faire:ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/zlib.h /usr/local/include/
gromgull

26
la commande suggérée fait apparaître une boîte de dialogue d'erreur d'Apple. Tout d'abord, il me demande si je veux obtenir XCode (que j'ai) ou "Installer". Je choisis installer. Il fait apparaître un CLUF, j'accepte, puis une boîte de dialogue d'erreur s'affiche: "Impossible d'installer le logiciel car il n'est actuellement pas disponible sur le serveur de mise à jour de logiciels."
Matt Feifarek du

7
J'ai rencontré une erreur Downloading/unpacking pil Could not find any downloads that satisfy the requirement pil Some externally hosted files were ignored (use --allow-external pil to allow). Cleaning up... No distributions at all found for pil Storing debug log for failure in /Users/Usermania/.pip/pip.log
Leonid

1
ln: / usr / local / include / X11: Aucun fichier ou répertoire de ce type Je n'ai pas de répertoire / usr / local / include / X11?
pigletfly

102

ouvrez votre terminal et exécutez:

xcode-select --install


2
La question n'est pas d'installer Xcode mais PIL ... De plus, j'ai expliqué que j'avais déjà Xcode installé et à jour.
Vincent Audebert

5
Cela résout également le problème (cela installe les outils de ligne de commande qui ne sont pas installés par défaut avec Xcode).
Rob Osborne

1
C'est tout ce que j'avais à faire, aucun de ces trucs symboliques.
joerick

@VincentShowcaseWorkshop Xcode n'installe pas les outils de ligne de commande par défaut. J'ai dû faire cela pour surmonter le même problème que les OP, même si Xcode était certainement déjà installé et à jour sur Mac OS 10.9.2.
Tony Adams

Cela résout le problème avec la version Mac 10.11.2 (15C50).
webtweakers

34
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11/ /usr/local/include/X11

aide pour moi! os x 10.9

pip install pillow

mais! après l'installation de pip ...

*** ZLIB (PNG/ZIP) support not available

et enfin je le répare en exécutant:

xcode-select --install

puis réinstallez l'oreiller

pip install pillow

PIL SETUP SUMMARY
    --------------------------------------------------------------------
    version      Pillow 2.2.1
    platform     darwin 2.7.5 (default, Aug 25 2013, 00:04:04)
                 [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)]
    --------------------------------------------------------------------
    --- TKINTER support available
    --- JPEG support available
    --- ZLIB (PNG/ZIP) support available
    --- TIFF G3/G4 (experimental) support available
    --- FREETYPE2 support available
    --- LITTLECMS support available
    --- WEBP support available
    --- WEBPMUX support available
    --------------------------------------------------------------------

mis à jour hier pour les non-conformistes et juste aujourd'hui, je commençais un projet, vous venez de m'économiser des heures de chagrin MERCI!
javiercf

Cela je devais faire $> ARCHFLAGS = -Wno-error = unused-command-line-argument-hard-error-in-future pip install oreiller
Sudhir

1
Merci! pour 10.10 utiliser: sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers / X11 / usr / local / include / X11
rozochkin

14

Fonctionne pour moi (OS X Yosemite 10.10.2 - Python 2.7.9):

xcode-select --install
sudo pip install pillow

Essayez ceci pour le vérifier:

from PIL import Image
image = Image.open("file.jpg")
image.show()

11

Voici ce que j'ai fait, certaines étapes peuvent ne pas être nécessaires uniquement pour PIL mais j'avais besoin de libpng et d'autres de toute façon:

1) Exécutez l'installation de xcode, utilisez cette commande ou téléchargez les mises à jour depuis l'App Store:

xcode-select --install

1b) Ajoutez l'outil facultatif des outils de ligne de commande, dans Mountain Lion, c'était une option sur la page de téléchargement xcode, mais vous devez maintenant vous inscrire avec votre identifiant Apple et télécharger à partir de: https://developer.apple.com/downloads/

Recherchez les outils de ligne de commande (OS X Mavericks) pour Xcode

2) Installez tout le nécessaire pour python (en utilisant brew), je pense que vous pouvez également utiliser le port:

brew install readline sqlite gdbm
brew install python --universal --framework 
brew install libpng jpeg freetype

Dissocier / relier si nécessaire, c'est-à-dire en cas de mise à niveau.

3) Installez Pip et les modules requis:

easy_install pip 
sudo pip install setuptools --no-use-wheel --upgrade

4) Enfin, cela fonctionne sans erreur:

sudo pip install Pillow

MISE À JOUR 11/04/14: Le dépôt PIL ne reçoit plus de mises à jour ou d'assistance, donc Pillow doit être utilisé. Le ci-dessous est maintenant obsolète, alors restez avec Pillow.

sudo pip install pil --allow-external pil --allow-unverified pil

MISE À JOUR (ANCIENNE): La même chose s'applique lors de l'installation de Pillow (fourche PIL) et doit être mentionnée comme étant rapidement en train de remplacer dans la plupart des cas de PIL. Au lieu d'installer pip à l'étape 4, exécutez plutôt ceci:

sudo pip install Pillow

J'espère que cela aide quelqu'un!


L'étape 4) peut se terminer par qc comme _imagingft.c:73:10: fatal error: 'freetype/fterrors.h' file not found. Mais pourrait être résolu en suivant stackoverflow.com/questions/20325473/… .
Bugs Bunny

installez-vous pil ou oreiller? PIL est obsolète, je vais mettre à jour ceci.
radtek

Ça n'a pas d'importance. PIL ou Pillow, il peut toujours être utile pour certains utilisateurs de résoudre le problème de liaison symbolique freetype / freetype2. Mais merci!
Bugs Bunny

Ouais, j'ai ajouté des éléments à l'étape 2 pour dissocier / lier en cas de mise à niveau. S'il manque quelque chose, pouvez-vous modifier et j'accepterai?
radtek

1
sudo pip install pil --allow-external pil --allow-unverified pil m'a aidé en 2015
fun_vit

9

l'installation d'outils de ligne de commande a résolu le problème pour moi

vous devez les installer séparément car ils ne font pas partie des packages de xcode maintenant:

https://developer.apple.com/downloads/index.action?=command%20line%20tools#


1
Je préfère définitivement cette approche. Je déteste faire des liens symboliques personnalisés avec les packages système ... vous ne savez jamais ce qui va se casser lors de la prochaine mise à jour ...
Tatlar

Cela semble être une mauvaise URL maintenant.
Matt Feifarek du

@MattFeifarek cette URL a fonctionné pour moi aujourd'hui. J'ai dû me connecter avec un compte de développement, mais cela m'a ensuite conduit à la page de téléchargement des outils de ligne de commande appropriés.
Tony Adams

8

Aucun de ceux-ci n’a fonctionné pour moi.

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
error: command 'cc' failed with exit status 1

J'ai donc trouvé un moyen de contourner la solution suivante:

sudo export CFLAGS=-Qunused-arguments
sudo export CPPFLAGS=-Qunused-arguments
sudo pip install PIL --allow-external PIL --allow-unverified PIL

De cette façon, j'ai pu installer.


C'est celui qui l'a corrigé pour moi. Si vous exécutez un environnement virtuel, vous n'avez pas besoin de la commande sudo.
Eric

Je vous remercie! Cela fonctionne en exécutant un environnement virtuel Python. Je n'avais pas Xcode actuellement installé, donc cela m'a économisé le temps de téléchargement.
Jamie Counsell

Cela fonctionne très bien pour l'ancien xcode dans 10.8, cela a-t-il fonctionné pour Mavericks?
radtek le

6

J'ai eu un problème similaire: l'installation de l'oreiller a échoué avec clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future], l'installation des outils de ligne de commande a échoué avec Can't install the software because it is not currently available from the Software Update server., et même après l'installation manuelle des outils de ligne de commande, la compilation de PIL a échoué.

Cela se produit car le bruit sous la dernière version de xcode ne prévient pas les indicateurs de compilateur inconnus, mais arrête plutôt la compilation avec une erreur grave.

Pour résoudre ce problème, exécutez simplement export ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future"sur le terminal avant d'essayer de compiler (installer pil).


5

Exécutez simplement

pip install pil --allow-external pil --allow-unverified pil


3

Voici mes étapes sur Mac OS 10.9.1

1. sudo su
2. easy_install pip
3. xcode-select --install
4. pip install --no-index -f http://dist.plone.org/thirdparty/ -U PIL

2

Vous pouvez utiliser Homebrew pour faire l'installation http://brew.sh

brew tap Homebrew/python
brew install pillow

Bonjour rchapman. Quand je lance brewinstaller samueljohn / python / oreiller, il donne un avertissement comme: pillow-2.5.1 already installed, it's just not linked. Et avant cela, il y a 15 avertissements comme: Could not tap homebrew/python/cpyrit-cuda over samueljohn/python/cpyrit-cuda. Des idées pourquoi cela se produit? Ou comment puis-je lier un oreiller?
0xmtn

2

Assurez-vous que les outils de ligne de commande sont installés sur votre xcode. Puis exécutez:

sudo pip install pil --allow-external pil --allow-unverified pil

J'ai pu l'installer sans outils de ligne de commande en utilisant le Xcode pour Mavericks.
radtek le

2

J'avais l'erreur suivante

building 'PIL._imagingft' extension
_imagingft.c:62:10: fatal error: 'freetype/fterrors.h' file not found

#include <freetype/fterrors.h>

         ^

1 error generated.

error: command 'cc' failed with exit status 1

La solution à cela était de créer un lien symbolique entre freetype2 et freetype et cela a résolu le problème.


2

Je ne voulais pas installer XCode (je ne l'utilise pas) et je déteste jouer avec le répertoire Application. J'ai tiré parti des nombreuses réponses de cet article et les deux étapes suivantes fonctionnent pour moi avec 10.9.5:

sudo easy_install pip
sudo pip install pillow

Il m'a semblé étrange que je doive utiliser easy_install pour installer pip. Mais pip ne voulait pas travailler pour moi avant cette (ré) installation.


1

J'ai trouvé la solution ... Vous devez créer un lien symbolique X11 comme ceci ln -s /opt/X11/include/X11 /usr/local/include/X11et cela sudo pip install pildevrait fonctionner.


ne fonctionne pas pour moi ... avez-vous mis à jour votre xcode avant de le faire fonctionner? avez-vous redémarré votre mac plusieurs fois? cela me frustre. ughs.
bonbon.langes

J'ai fait ma mise à jour xcode avant et j'ai redémarré mon mac même si je ne suis pas sûr que cela soit utile. Peut-être que le chemin vers votre X11 n'est pas le même pour vous. Essayez peut-être certaines des autres réponses.
Vincent Audebert

1

Réutiliser la réponse de @ DmitryDemidenko, voilà comment cela a fonctionné pour moi:

ln -s  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 /usr/local/include/X11

puis

sudo pip install -U PIL --allow-external PIL --allow-unverified PIL

1

Exécutez les lignes de commande ci-dessous. Fonctionne comme un charme sur Mac OS 10.9.5

pip easy_install

sudo pip install setuptools --no-use-wheel --upgrade

sudo pip installer oreiller

Meilleur, Theo


0

C'est ce que j'ai fait:

Première mise à niveau vers Xcode 5 (j'utilise 10.9). Ensuite, exécutez les commandes suivantes dans un terminal:

$ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
$ ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 usr/include/

1
Une réponse similaire a été donnée et acceptée il y a deux semaines. Je ne vois pas la valeur supplémentaire de la vôtre ...
Soravux

Eh bien, cette réponse a des chemins différents de celui accepté. J'ai ajouté cette version en commentaire à la réponse acceptée. La commande estsudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/X11
osa

0

Une solution plus complète nécessite l'installation du sous-système Xquartz X11 qui est construit en dehors d'Apple depuis plusieurs années maintenant. Voici les étapes que j'ai utilisées pour que tout fonctionne

  1. Installez XQuartz depuis http://xquartz.macosforge.org/landing/
  2. Courir sudo pip install pillow

0

Comme la réponse acceptée est la bonne, xcode-select --installmais certaines personnes (y compris moi) peuvent rencontrer Can't install the software because it is not currently available from the Software Update server Si vous utilisez un logiciel bêta (car j'utilise Yosemite maintenant et j'ai le même problème), vous DEVEZ obtenir le CLT séparément car il n'est PAS inclus dans XCode (même xcode beta) Rendez-vous sur developer.apple.com et obtenez des outils CLT pour votre système d'exploitation;)

PS Vous n'avez pas besoin de XQuartz pour que PIL ou Pillow fonctionne



0

Installez plutôt Pillow :

sudo pip install pillow

Vous avez toujours besoin de toute la pré-configuration comme vous le feriez pour PIL
radtek

@radtek non vous ne le faites pas sur mac 10.9. Avez-vous réellement essayé la commande avant de voter contre ma réponse?
Bobo

Je n'ai pas voté contre votre réponse, j'ai voté pour, mais oui, j'ai essayé. En fait, je l'ai fait plusieurs fois maintenant et je n'avais pas besoin de l'étape 1b, mais de tout ce dont j'avais besoin.
radtek

0
ln -s /usr/local/include/freetype2 /usr/local/include/freetype
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pil

0

Essaye ça:

ln -s /usr/local/include/freetype2 /usr/local/include/freetype

3
Veuillez ajouter un peu plus et expliquer pourquoi il devrait faire cela.
Sir l33tname

0
sudo pip uninstall pillow
pip install pillow

travaillé pour moi. J'utilise Python 2.7.9 sur Yosemite. import PILfonctionne maintenant pour moi.


0

Installation de PIL (Imaging.1.1.7) sur Mac OSC 10.10 Yosemite. J'ai essayé de nombreux correctifs recommandés ici mais j'ai rencontré des problèmes avec chacun d'eux. J'ai finalement résolu ce problème en éditant le fichier setup.py tel que:

TCL_ROOT = "/ opt / X11 / inclure"

qui transmet le chemin d'inclusion approprié pour X11 dans la compilation de _imagingtk.c, ce qui me posait le problème. A travaillé immédiatement après le changement.


0

Je suis passé de pyenvà virtualenvet que ce soit réglé mon problème.


-4
  1. ln -s / opt / X11 / include / X11 / usr / local / include / X11
  2. pip installer pil sans sudo
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.