¿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 pythonejecutado comoenv -i ./script. En ese caso, devuelve el directorio de trabajo actual.#!/usr/bin/env python3devolverá 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.pythonypython3comandos 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 pythoncomando. 2)command -v pythoncomando 3)type pythoncomandoDel 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
pythondesde el shell. Si comienza con una ruta diferente explícita (p/opt/python/2.5/bin/python. Ej. ), O usapython3y 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.