¿Encontrar la ruta completa del intérprete de Python?
¿Cómo encuentro la ruta completa del intérprete de Python que se está ejecutando actualmente desde el script de Python que se está ejecutando actualmente?
sys.executable
contiene la ruta completa del intérprete de Python que se está ejecutando actualmente.
import sys
print(sys.executable)
que ahora está documentado aquí
Solo noto una forma diferente de utilidad cuestionable, usando os.environ
:
import os
python_executable_path = os.environ['_']
p.ej
$ python -c "import os; print(os.environ['_'])"
/usr/bin/python
Hay algunas formas alternativas de descubrir qué Python se usa actualmente en Linux:
which python
dominio.command -v python
dominiotype python
dominio
De manera similar, en Windows con Cygwin también resultará lo mismo.
kuvivek@HOSTNAME ~
$ which python
/usr/bin/python
kuvivek@HOSTNAME ~
$ whereis python
python: /usr/bin/python /usr/bin/python3.4 /usr/lib/python2.7 /usr/lib/python3.4 /usr/include/python2.7 /usr/include/python3.4m /usr/share/man/man1/python.1.gz
kuvivek@HOSTNAME ~
$ which python3
/usr/bin/python3
kuvivek@HOSTNAME ~
$ command -v python
/usr/bin/python
kuvivek@HOSTNAME ~
$ type python
python is hashed (/usr/bin/python)
Si ya estás en el shell de Python. Pruebe cualquiera de estos. Nota: Esta es una forma alternativa. No es la mejor forma pitónica.
>>> import os
>>> os.popen('which python').read()
'/usr/bin/python\n'
>>>
>>> os.popen('type python').read()
'python is /usr/bin/python\n'
>>>
>>> os.popen('command -v python').read()
'/usr/bin/python\n'
>>>
>>>
Si no está seguro de la ruta real del comando Python y está disponible en su sistema, utilice el siguiente comando.
pi@osboxes:~ $ which python
/usr/bin/python
pi@osboxes:~ $ readlink -f $(which python)
/usr/bin/python2.7
pi@osboxes:~ $
pi@osboxes:~ $ which python3
/usr/bin/python3
pi@osboxes:~ $
pi@osboxes:~ $ readlink -f $(which python3)
/usr/bin/python3.7
pi@osboxes:~ $