¿Encontrar la ruta completa del intérprete de Python?

Resuelto vy32 asked hace 14 años • 3 respuestas

¿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?

vy32 avatar Apr 07 '10 09:04 vy32
Aceptado

sys.executablecontiene la ruta completa del intérprete de Python que se está ejecutando actualmente.

import sys

print(sys.executable)

que ahora está documentado aquí

Imran avatar Apr 07 '2010 02:04 Imran

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
famousgarkin avatar Jan 08 '2015 09:01 famousgarkin

Hay algunas formas alternativas de descubrir qué Python se usa actualmente en Linux:

  1. which pythondominio.
  2. command -v pythondominio
  3. type pythondominio

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:~ $ 
kvivek avatar Dec 09 '2016 19:12 kvivek