5 votos

¿Cómo puedo saber qué instalación de Python se está utilizando?

Si escribo el comando which python entonces me sale:

Oliviers-iMac:~$ which -a python
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/usr/bin/python

Si luego escribo python --version ¿Cómo puedo saber de qué versión de Python estoy recibiendo? ¿Son las dos ubicaciones anteriores dos instalaciones de Python diferentes?

1 votos

which python es decir, sin la -a te dice cuál se utilizará

0 votos

Supongo que cuál se ejecuta depende del orden en $PATH, ¿no?

1 votos

@Oliver sí correcto

1voto

Satanicpuppy Puntos 4902

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python es muy probable que sea un enlace simbólico .

readlink en un simlink te dará el objetivo.

Por ejemplo en mi instalación de Mavericks tengo lo siguiente :

$readlink /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python
python2
$readlink /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2
python2.7

Lo que significa que cuando ejecute python realmente se ejecuta /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7


También hay algo curioso, cuando se ejecuta /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7

Prueba esto

>>> import sys
>>> print sys.executable 

Que devolverá este :

/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOs/Python

0 votos

¡Extraño! Me pregunto por qué son necesarios los simlinks intermedios. ¿Tal vez porque Python 2.7 extiende a Python 2, que a su vez extiende a Python?

0 votos

Por cierto, cuando dices que /System/Library/Frameworks/Python.framework/Versions/2.7/bin/Python es probablemente un simlink, ¿quieres decir que apunta a /usr/bin/Python? ¿Los simlinks siempre apuntan a binarios en /usr/bin? (¡Perdón por las preguntas de novato!)

0 votos

El enlace simbólico puede apuntar a cualquier cosa. Archivo, directorio, binario. Hay (un poco) como los alias.

1voto

liszi Puntos 36

Si estás codificando en Python, puede que quieras:

import sys
sys.path

La ruta probablemente le mostrará la versión de Python que está utilizando.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X