¿Por qué pip está instalando Pillow para OS X 10.12, cuando tengo instalado OS X 10.11?

Cuando bash importar PIL (usando Pillow), obtengo el siguiente error:

from PIL import ImageTk, Image File "/usr/local/lib/python2.7/site-packages/PIL/ImageTk.py", line 42, in  from . import Image File "/usr/local/lib/python2.7/site-packages/PIL/Image.py", line 60, in  from . import _imaging as core ImportError: dlopen(/usr/local/lib/python2.7/site-packages/PIL/_imaging.so, 2): Symbol not found: _clock_gettime Referenced from: /usr/local/lib/python2.7/site-packages/PIL/.dylibs/liblzma.5.dylib (which was built for Mac OS X 10.12) Expected in: /usr/lib/libSystem.B.dylib in /usr/local/lib/python2.7/site-packages/PIL/.dylibs/liblzma.5.dylib 

Observe la línea a la que se hace Referenced from: /usr/local/lib/python2.7/site-packages/PIL/.dylibs/liblzma.5.dylib (which was built for Mac OS X 10.12) y específicamente ‘ (que fue creado para Mac OS X 10.12) ‘.

Tengo el presentimiento de que podría haber dañado algo cuando intenté instalar manualmente la versión incorrecta de xCode (no es compatible con 10.11.6, que está en esta computadora). He instalado Pillow utilizando pip install Pillow , pero esa instalación resultó en este error. ¿Hay alguna forma de forzar a pip a que instale una determinada versión de Pillow para ver si el problema radica en que pip instale una versión problemática?

Este es un error en la última versión de Pillow 5.1.0.

Fue causado por la actualización de Xcode de la versión 8 a 9.2 para construir las ruedas binarias.

El Capitán 10.11 es el “min macOS para ejecutar” para Xcode 8.

Sierra 10.12.6 es el min para Xcode 9.2.

https://en.wikipedia.org/wiki/Xcode#Xcode_7.0_- 9.x (since_Free_On-Device_Development

Habrá una almohadilla 5.1.1 para arreglarlo en algún momento.

Mientras tanto, la solución es: pip instalar ‘pillow! = 5.1.0’

(O actualice su macOS, o compile desde la fuente).

Para obtener más información, consulte https://github.com/python-pillow/Pillow/issues/3068

Eso suena como que la rueda cargada en PyPI no fue construida para su plataforma correctamente. Desafortunadamente, tener la rueda para un paquete PyPI para su plataforma no es una garantía de que la rueda se instalará o funcionará correctamente, usted está a merced del encargado del paquete PyPI a este respecto.

Debe ejecutar pip uninstall Pillow , descargar la fuente directamente desde PyPI, comstackrla manualmente y ejecutar pip install -e para instalar la rueda que construyó específicamente para su máquina.