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

¿Cómo puedo encontrar la ruta completa del intérprete de Python que se ejecuta actualmente dentro del script de Python que se está ejecutando actualmente?

sys.executable contiene la ruta completa del intérprete de Python actualmente en ejecución.

 import sys print(sys.executable) 

que ahora está documentado aquí

Solo observando 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 el python que se usa actualmente en Linux: 1) which python comando de which python . 2) command -v python 3) type python comando type python

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. Prueba cualquiera de estos. Nota: Esta es una forma alternativa. No es la mejor manera pythonica.

 >>> >>> 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' >>> >>> 

Pruebe el comando whereis :

 whereis python