No se puede instalar PIL después de Mac OS X 10.9

132

Acabo de actualizar mi Mac OS a 10.9 y descubrí que algunos (¿todos?) De mis módulos de Python ya no están aquí, especialmente el Image.

Así que trato de ejecutar sudo pip install pil, pero me sale este error:

/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

Mi Xcode está actualizado y no tengo ni idea. ¿Es posible que PIL aún no sea compatible con 10.9?

Vincent Audebert
fuente
No es una respuesta, pero ¿has probado Pillow? pypi.python.org/pypi/Pillow/2.2.1 : es muy compatible con PIL.
James Addison el
44
@JamesAddison Pillow 2.2.1 se ve afectado de manera similar.
Adam J. Forster
quierespip install pillow
kilojulios
En macos 10.10.5 Yosemite, pip install Pillow==5.0.0funciona, instala .../site-packages/PIL. (¿Por qué 5.0.0? Ver el problema ).
denis

Respuestas:

211

Lo siguiente funcionó para mí:

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

ACTUALIZAR:

Pero hay una solución más correcta a continuación, proporcionada por Will.

abre tu terminal y ejecuta: xcode-select --install

Dmitry Demidenko
fuente
2
Su respuesta tiene un error tipográfico, es MacOS10.9.sdkno MacOS0.9.sdk.
Bryan Veloso
3
Si también desea tener un PIL / Pillow con soporte zlib / png / zip, también debe hacerlo:ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/zlib.h /usr/local/include/
gromgull
26
El comando sugerido muestra un diálogo de error de Apple. Primero me pregunta si quiero obtener XCode (que tengo) o "Instalar". Elijo instalar. Aparece un EULA, acepto, luego aparece un cuadro de diálogo de error: "No se puede instalar el software porque actualmente no está disponible desde el servidor de Actualización de Software".
Matt Feifarek
77
Encontré un error 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
En: / usr / local / include / X11: ¿No existe tal archivo o directorio? ¿No tengo / usr / local / include / X11 direcotry?
pigletfly
102

abre tu terminal y ejecuta:

xcode-select --install

Willem
fuente
2
La pregunta no se trata de instalar Xcode sino de PIL ... Además, le expliqué que ya tenía Xcode instalado y actualizado.
Vincent Audebert el
55
Esto también resuelve el problema (instala las herramientas de línea de comandos que no están instaladas por defecto con Xcode).
Rob Osborne
1
Esto es todo lo que necesitaba hacer, ninguna de esas cosas simbólicas.
joerick
@VincentShowcaseWorkshop Xcode no instala las herramientas de línea de comandos de forma predeterminada. Tuve que hacer esto para superar el mismo problema que los OP, aunque definitivamente ya tenía Xcode instalado y actualizado en Mac OS 10.9.2.
Tony Adams
Esto soluciona el problema con Mac versión 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

ayuda para mi! os x 10.9

pip install pillow

¡pero! después de instalar pip ...

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

y finalmente lo soluciono ejecutando:

xcode-select --install

luego reinstale la almohada

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
    --------------------------------------------------------------------
klem4
fuente
actualizado a Mavericks ayer y justo hoy estaba empezando un proyecto, me acabas de salvar horas de angustia ¡GRACIAS!
javiercf
Esto tuve que hacer $> ARCHFLAGS = -Wno-error = unused-command-line-argumentos-hard-error-in-future pip install pillow
Sudhir
1
¡Gracias! para uso 10.10: 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

Funciona para mí (OS X Yosemite 10.10.2 - Python 2.7.9):

xcode-select --install
sudo pip install pillow

Prueba esto para comprobarlo:

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

Esto es lo que hice, algunos pasos pueden no ser necesarios solo para PIL pero necesitaba libpng y otros de todos modos:

1) Ejecute xcode install, use este comando o descargue actualizaciones de la tienda de aplicaciones:

xcode-select --install

1b) Agregue la herramienta opcional Herramientas de línea de comandos, en Mountain Lion esta era una opción en la página de descarga de xcode, pero ahora debe registrarse con su ID de Apple y descargar desde: https://developer.apple.com/downloads/

Busque las herramientas de línea de comandos (OS X Mavericks) para Xcode

2) Instale todo lo necesario para python (usando brew), creo que también puede usar port:

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

Desvincular / volver a vincular si es necesario, es decir, si está actualizando.

3) Instale Pip y los módulos requeridos:

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

4) Finalmente esto funciona sin errores:

sudo pip install Pillow

ACTUALIZACIÓN 11/04/14: El repositorio PIL ya no recibe actualizaciones o soporte, por lo que se debe usar Pillow. Lo siguiente ahora está en desuso, así que quédate con Pillow.

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

ACTUALIZACIÓN (ANTIGUA): lo mismo se aplica al instalar Pillow (horquilla PIL) y debe mencionarse como se está convirtiendo rápidamente en un reemplazo en la mayoría de los casos de PIL. En lugar de instalar pip en el paso 4, ejecute esto en su lugar:

sudo pip install Pillow

¡Espero que esto ayude a alguien!

radtek
fuente
Paso 4) puede terminar con algo así _imagingft.c:73:10: fatal error: 'freetype/fterrors.h' file not found. Pero podría resolverse siguiendo stackoverflow.com/questions/20325473/… .
Bugs Bunny
¿Estás instalando almoha o almohada? PIL está en desuso, lo actualizaré.
radtek el
No importa PIL o Pillow, aún podría ser útil para algunas personas resolver el problema de simulación de freetype / freetype2. ¡Pero gracias!
Bugs Bunny
Sí, agregué cosas en el paso 2 para desvincular / vincular si se actualiza. Si te falta algo, ¿puedes editar y aceptaré?
radtek
1
sudo pip install pil --allow-external pil --allow-no verificado pil me ayudó en 2015
fun_vit
9

la instalación de herramientas de línea de comandos me solucionó el problema

tienes que instalarlos por separado ya que no son parte de los paquetes en xcode ahora:

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

Formulka
fuente
1
Definitivamente prefiero este enfoque. Odio hacer costumbre enlaces simbólicos con los paquetes de sistema ... nunca se sabe lo que va a romper en la próxima actualización ...
tatlar
Esa parece ser una mala URL ahora.
Matt Feifarek
@MattFeifarek esa URL funcionó para mí hoy. Tuve que iniciar sesión con una cuenta de desarrollador, pero luego me llevó a la página de descarga de herramientas de línea de comandos correspondiente.
Tony Adams
8

Ninguno de ellos funcionó para mí. Seguí recibiendo:

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

Así que encontré una solución alternativa con la siguiente solución:

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

De esta manera pude instalar.

tonhozi
fuente
Este es el que me lo arregló. Si está ejecutando un entorno virtual, no necesita el comando sudo.
Eric
¡Gracias! Esto funciona ejecutando un entorno virtual de Python. No tenía Xcode instalado actualmente, así que esto me ahorró el tiempo de descarga.
Jamie Counsell
Esto funciona muy bien para el antiguo xcode en 10.8, ¿funcionó para Mavericks?
radtek
6

Tuve un problema similar: falló la instalación de la almohada, fallaron las clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]herramientas de línea de comando Can't install the software because it is not currently available from the Software Update server.e incluso después de instalar las herramientas de línea de comando manualmente, la compilación de PIL falló.

Esto sucede porque el sonido metálico bajo la versión más reciente de xcode no advierte sobre los indicadores desconocidos del compilador, sino que detiene la compilación con un error grave.

Para solucionar esto, simplemente ejecute export ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future"en la terminal antes de intentar compilar (instalar pil).

nicolaslara
fuente
5

Simplemente corre

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

jqualls
fuente
3

Estos mis pasos en 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
saranpol
fuente
2

Puedes usar Homebrew para hacer la instalación http://brew.sh

brew tap Homebrew/python
brew install pillow
rchapman
fuente
Hola rchapman Cuando corro brewpara instalar samueljohn / Python / almohada, que le da una advertencia como: pillow-2.5.1 already installed, it's just not linked. Y antes de esto, hay 15 advertencias como: Could not tap homebrew/python/cpyrit-cuda over samueljohn/python/cpyrit-cuda. ¿Alguna idea de por qué sucede esto? ¿O cómo puedo vincular la almohada?
0xmtn
2

Asegúrese de tener las herramientas de línea de comandos instaladas en su xcode. Luego ejecuta:

sudo pip install pil --allow-external pil --allow-unverified pil
usuario3643204
fuente
Pude instalarlo sin herramientas de línea de comando usando el Xcode para Mavericks.
radtek
2

Estaba teniendo el siguiente error

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 solución a esto fue vincular freetype2 a freetype y esto resolvió el problema.

Geoffrey
fuente
2

No quería instalar XCode (no lo uso) y no me gusta jugar con el directorio de la aplicación. Me basé en las muchas respuestas en esta publicación y los siguientes dos pasos me funcionan con 10.9.5:

sudo easy_install pip
sudo pip install pillow

Me pareció extraño que tuviera que usar easy_install para instalar pip. Pero pip no quería trabajar para mí antes de esa (re) instalación.

CyberFonic
fuente
1

Encontré la solución ... Tienes que hacer un enlace simbólico a X11 como este ln -s /opt/X11/include/X11 /usr/local/include/X11y luego sudo pip install pildebería funcionar.

Vincent Audebert
fuente
no funciona para mí ... ¿actualizó su xcode antes de hacerlo funcionar? ¿reiniciaste tu Mac muchas veces? Esto me está frustrando. ughs
bonbon.langes
Hice mi actualización de xcode antes y reinicié mi mac incluso si no estoy seguro de que sea útil. Quizás el camino hacia tu X11 no sea el mismo para ti. Pruebe algunas de las otras respuestas tal vez.
Vincent Audebert el
1

Reutilizando la respuesta de @ DmitryDemidenko, así es como funcionó para mí:

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

y entonces

sudo pip install -U PIL --allow-external PIL --allow-unverified PIL
Dimosthenis Kontogiorgos
fuente
1

Ejecute las siguientes líneas de comando. Funciona de maravilla en Mac OS 10.9.5

pip easy_install

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

sudo pip install Pillow

Mejor, Theo

Theophanis Hadjistasi
fuente
0

Eso fue lo que hice:

Primera actualización a Xcode 5 (estoy ejecutando 10.9). Luego, ejecute los siguientes comandos en una 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/
William Monroe
fuente
1
Una respuesta similar fue dada y aceptada hace dos semanas. No veo el valor adicional de los suyos ...
Soravux
Bueno, esta respuesta tiene diferentes caminos que el aceptado. Agregué esta versión como un comentario a la respuesta aceptada. El comando essudo 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

Una solución más completa requiere la instalación del subsistema Xquartz X11 que se ha construido fuera de Apple durante varios años. Estos son los pasos que utilicé para que todo funcione

  1. Instale XQuartz desde http://xquartz.macosforge.org/landing/
  2. correr sudo pip install pillow
Sammy Spets
fuente
0

Como la respuesta aceptada es la correcta, xcode-select --installpero algunas personas (incluido yo) pueden encontrarCan't install the software because it is not currently available from the Software Update server Si está utilizando el software beta (como yo estoy usando Yosemite ahora y tenía el mismo problema) que necesita para obtener la CLT por separado, ya que no está incluido en XCode (incluso xcode beta) Dirígete a developers.apple.com y obtén herramientas CLT para tu sistema operativo;)

PD: No necesitas XQuartz para que PIL o Pillow funcionen

Mohibeyki
fuente
0

Mi máquina que se actualizó recientemente desde OS 10.8 -> 10.9 se atascó en un bucle entre xcrun y lipo.

Cambie el nombre de / usr / bin / lipo a / usr / bin / lipo_broken

Consulte este hilo para obtener más información sobre cómo resolver:

xcrun / lipo se congela con OS X Mavericks y XCode 4.x

Ben Russell
fuente
0

Instale Pillow en su lugar:

sudo pip install pillow
Bobo
fuente
Todavía necesita toda la configuración previa como lo haría para PIL
radtek
@radtek no, no lo haces en mac 10.9. ¿Has probado el comando antes de rechazar mi respuesta?
Bobo
No rechacé su respuesta, voté, pero sí lo intenté. De hecho, hice esto varias veces y no necesitaba el paso 1b, pero sí todo lo demás.
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
softvar
fuente
0

Prueba esto:

ln -s /usr/local/include/freetype2 /usr/local/include/freetype
Damian Gołojuch
fuente
3
Agregue un poco más y explique por qué debería hacer eso.
Sir l33tname
0
sudo pip uninstall pillow
pip install pillow

trabajó para mi. Estoy ejecutando Python 2.7.9 en Yosemite. import PILahora funciona para mi

kilojulios
fuente
0

Instalación de PIL (Imaging.1.1.7) en Mac OSC 10.10 Yosemite. Probé numerosas soluciones recomendadas aquí, pero tuve problemas con cada una. Finalmente resolví este problema editando el archivo setup.py de modo que:

TCL_ROOT = "/ opt / X11 / include"

que pasa la ruta de inclusión apropiada para X11 en la compilación de _imagingtk.c, lo que me estaba causando el problema. Trabajó inmediatamente después del cambio.

Keith Bush
fuente
0

Me he movido desde pyenvque virtualenvy esto fijo mi problema.

ipeacocks
fuente
-4
  1. ln -s / opt / X11 / include / X11 / usr / local / include / X11
  2. pip install pil sin sudo
Sergey
fuente