¿Cómo encuentro la ruta completa del intérprete de Python actualmente en ejecución desde el script de Python actualmente en ejecución?
402
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í
/usr/bin/env python
ejecutado comoenv -i ./script
. En ese caso, devuelve el directorio de trabajo actual.#!/usr/bin/env python3
devolverá la ruta binaria completa correcta a través desys.executable
. Quizás su sistema operativo o versión de Python se comporta de manera ligeramente diferente.python
ypython3
comandos y se imprime el ejecutable correcto.Simplemente observando una forma diferente de utilidad cuestionable, usando
os.environ
:p.ej
fuente
_
lo establece el shell. Pero no es necesario establecerlo, por lo que esto podría dar la respuesta incorrecta.Hay algunas formas alternativas de descubrir que el python utilizado actualmente en Linux es: 1)
which python
comando. 2)command -v python
comando 3)type python
comandoDel mismo modo, en Windows con Cygwin también resultará igual.
Si ya estás en el shell de Python. Prueba cualquiera de estos. Nota: esta es una forma alternativa. No es la mejor manera pitónica.
fuente
python
desde el shell. Si comienza con una ruta diferente explícita (p/opt/python/2.5/bin/python
. Ej. ), O usapython3
y luego ejecuta esos comandos de Python, todos ellos produjeron respuestas incorrectas y eso no tiene nada que ver con no ser la forma más pitónica, simplemente está mal.