Python versión 2.7.8 no puede ejecutar /usr/bin/easy_install. Pruebe la(s) alternativa(s):

Estoy haciendo un montón de desarrollo de python y también actualicé el sistema operativo a Mountain Lion.

Reemplacé las versiones originales de Python con Snow Leopard usando la GUI de Python.org, luego agregué enlaces en /usr/bin:

lrwxr-xr-x  1 root  admin  71 Oct 22 18:12 python -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7

Así que ahora tengo lo que creo que son todas las versiones de Python que forman parte de OSX 10.8.5 (2.5, 2.6, 2.7) ubicadas en:

/System/Library/Frameworks/Python.framework/Versions/

y enlazado desde/usr/bin

Y TAMBIÉN los que instalé con la GUI ubicada en:

/Library/Frameworks/Python.framework/Versions/

Pero planeo usar las versiones que instalo con fink, que es un árbol de puertos similar al macportsque están/estarán ubicados en:

/sw/bin

Así que he comentado las PATHexportaciones que ~/.bash_profileapuntan a los ejecutables que no son fink:

#PATH="/usr/local/bin:/usr/local/sbin:/System/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
#export PATH

#PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
#export PATH

Y agregado:

#  for Fink:
export PATH=$PATH:/sw/bin
. /sw/bin/init.sh

Todavía no entiendo completamente las secuencias de comandos de Shell, pero init.shinicializa fink, creo que principalmente agrega elementos a $PATH y otras variables de entorno.

Anteriormente, instalé varios paquetes con homebrew, macportsy varias GUI y espero tener un entorno más comprensible esta vez.

En este momento necesito instalar y un postgreSQLmontón de python modulesincluyendo pip, virtualenv, virtualenvironmentwrapper.psycopg

Parece que el easy_installejecutable (¿ejecutable binario?) vive (junto con easy_install-2.5, 2.6 y 2.7) en /usr/bin/.

Entonces mis preguntas son:

  1. ¿Hay alguna razón para tener más de una copia de cada versión de Python?

  2. ¿Funcionarán las aplicaciones dependientes de python siempre que haya un enlace a /usr/bin/una biblioteca de python ejecutable y en funcionamiento, y la ubicación del ejecutable de Python esté en $PATH?

  3. ¿Hay mucha razón para seguir Python2.5en este punto?

  4. sudo easy_install-2.7 pipfuncionó, entonces, ¿para qué sirve exactamente -rwxr-xr-x 2 root wheel 925 Oct 23 14:48 easy_install?

Respuestas (1)

Bueno.

La respuesta al número 1 es sí.

Los desarrolladores fink recomiendan NO eliminar las versiones OSX de Python, simplemente porque no son archivos terriblemente grandes y pueden ser necesarios para ciertas funciones y programas de OSX.

Y quiero tener una versión adicional de al menos python2.7 instalada por fink, porque es un árbol de puertos que está diseñado para crear una estructura de directorios similar a UNIX, que con suerte hará que PostgreSQL y python funcionen bien juntos.

En cuanto a la pregunta número 2, no estoy seguro. Creo que esto funcionaría, pero dejar instaladas las versiones originales de OSX evita el problema.

Pregunta 3: sí. - Ver respuesta a la pregunta 1.

Hacer que la finkversión sea la que se ejecuta a través del terminal es cuestión de:

  1. asegúrese de que el directorio que contiene el binario de fink python precede al OSX (o uno instalado por GUI) en el PATH, lo que se puede hacer en los usuarios .profileo .bash_profile(ubicado en el directorio ~/, la raíz del usuario) invocando el script de inicio de fink, . /sw/bin/init.shO asegurándose de que export PATH=/sw/bin:$PATHse incluye en el archivo DESPUÉS de cualquier otra línea que exporte una PATHcon una de las otras rutas de python al principio. Por ejemplo, export PATH=/usr/bin:$PATHo export PATH=/usr/local/bin:$PATH.

  2. A menos que queramos invocar python cli like python2.7, necesitaremos hacer un enlace simbólico en el /sw/bindirectorio que apunte "python" a "python2.7", lo cual se hace usando sudo ln -s *source* *link*, que en este caso se ve así:

    sudo ln -s /sw/bin/python2.7 /sw/bin/python

Todavía no estoy seguro de cuál es la respuesta a la pregunta 4, pero veo que las bibliotecas que existen /sw/binse llaman desde allí, a diferencia de otras instalaciones. Bien.

Obtuve una copia de Learning UNIX para OS X Mountain Lion que parece bastante prometedora.