No se puede construir Python Gevent en Mac OSX 10.10

Sinopsis: pip install gevent no funciona.

Excavando, descargué gevent .tar.gz y ejecuté la comstackción manualmente: python setup.py build , obtuvo el mismo error:

 running build running build_py running build_ext building 'gevent.core' extension clang -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -U__llvm__ -DLIBEV_EMBED=1 -DEV_COMMON= -DEV_CLEANUP_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_PERIODIC_ENABLE=0 -Ibuild/temp.macosx-10.10-x86_64-2.7/libev -Ilibev -I/Users/travisjohnson/.pyenv/versions/2.7.5/include/python2.7 -c gevent/gevent.core.c -o build/temp.macosx-10.10-x86_64-2.7/gevent/gevent.core.o In file included from gevent/gevent.core.c:313: In file included from gevent/libev.h:2: ... 29 various compiler warnings ... 29 warnings generated. clang -bundle -bundle_loader python.exe -L/usr/local/opt/readline/lib -L/usr/local/opt/readline/lib -L/Users/travisjohnson/.pyenv/versions/2.7.5/lib -U__llvm__ build/temp.macosx-10.10-x86_64-2.7/gevent/gevent.core.o -o build/lib.macosx-10.10-x86_64-2.7/gevent/core.so ld: file not found: python.exe clang: error: linker command failed with exit code 1 (use -v to see invocation) error: command 'clang' failed with exit status 1 

Mi primer pensamiento es “Parece que le está diciendo a python.exe vincular a python.exe con algo”, lo que inicialmente pensé que era una tontería (esto no es Windows), pero: https://docs.python.org/devguide/setup. html # unix dice que python.exe es el nombre predeterminado de python después de la construcción (debido a la insensibilidad de mayúsculas y minúsculas), por lo que ahora no lo sé.

He estado cavando en esto por horas, y no tengo un próximo paso. Encontré algo similar (creo) en un proyecto diferente , pero no hubo ninguna explicación sobre la causa o qué lo solucionó, solo que se solucionó (he comprobado que mi xcode y las herramientas de desarrollador, etc. están actualizadas)

Estoy en una pérdida total para los próximos pasos aquí, ¿podría alguien apuntarme en la dirección correcta?

EDITAR: Examinando un poco más para ejecutar la comstackción manualmente paso a paso, obtuve este paso específico para no cometer errores al:

  • Encontrar la ubicación del binario de python (no el calzo utilizado por pyenv)
  • Ejecutar manualmente el comando clang listado en el registro, pero reemplazando python.exe con la ruta a mi binario de python , es decir: /Users/username/.pyenv/versions/adid/bin/python2.7

¿Entonces parece que no está obteniendo algún camino correcto hacia el binario de python? Desafortunadamente, no sé el rest del proceso de comstackción, así que no puedo seguir por mi cuenta y no sé cómo colocar esta corrección de ruta en el proceso ejecutado por setup.py . No tuve estos problemas antes de actualizar a 10.10 (podría haber sido otra cosa, han pasado unos días y he hecho otras cosas), así que no sé por qué esto es solo un problema nuevo.

Aparentemente este es un problema con mi administrador virtualenv:

https://github.com/yyuu/pyenv/issues/273

Unable to install compiled Python modules under pyenv on OS X 10.10 es el nombre del problema.

EDIT: No, no lo es.

Este es un error con python . La forma en que Python hizo las comparaciones de la versión OS en OSX fue ingenua, y se rompió con el doble dígito en 10.10, donde entonces pensaría que estaba en un OSX mucho más antiguo. A menudo, esto puede pasar desapercibido, excepto al instalar módulos comstackdos (donde se usa para tomar algunas decisiones).

Esto se solucionó aquí: https://bugs.python.org/issue21811

No recuerdo si 2.7.7 o 2.7.8 era la versión con la corrección publicada (pero era una de ellas), pero el resultado final es que no se pueden usar versiones anteriores de 2.7 en OSX 10.10 o más nuevas. Si te encuentras con este problema, entonces personalmente presionaré para actualizar la versión de python utilizada;) (2.7.11 tiene algunas mejoras ssl impresionantes de todos modos).