Como localizo o caminho completo do interpretador Python atualmente em execução no script Python atualmente em execução?
402
sys.executable
contém o caminho completo do interpretador Python em execução no momento.
import sys
print(sys.executable)
que agora está documentado aqui
/usr/bin/env python
executado comoenv -i ./script
. Nesse caso, ele retorna o diretório de trabalho atual.#!/usr/bin/env python3
retornará o caminho binário completo correto viasys.executable
. Talvez sua versão do sistema operacional ou Python se comporte de maneira um pouco diferente.python
epython3
comandos e imprimiu o executável correto.Apenas observando uma maneira diferente de utilidade questionável, usando
os.environ
:por exemplo
fonte
_
é definido pelo shell. Mas não precisa ser definido, portanto, isso pode dar a resposta errada.Existem algumas maneiras alternativas de descobrir que o python atualmente usado no Linux é: 1)
which python
comando. 2)command -v python
comando 3)type python
comandoDa mesma forma No Windows com Cygwin também resultará o mesmo.
Se você já está no shell python. Tente qualquer um desses. Nota: Esta é uma maneira alternativa. Não é o melhor caminho pitônico.
fonte
python
no shell. Se você começar com um caminho diferente explícito (por exemplo/opt/python/2.5/bin/python
), ou usarpython3
e, em seguida, executar esses comandos python, todos eles produziram respostas incorretas e isso não tem nada a ver com não ser o caminho mais pitônico, isso é completamente errado.