Wie finde ich den vollständigen Pfad des aktuell ausgeführten Python-Interpreters im aktuell ausgeführten Python-Skript?
402
sys.executable
enthält den vollständigen Pfad des aktuell ausgeführten Python-Interpreters.
import sys
print(sys.executable)
was jetzt hier dokumentiert ist
/usr/bin/env python
ausgeführten Shebang nicht zu funktionierenenv -i ./script
. In diesem Fall wird das aktuelle Arbeitsverzeichnis zurückgegeben.#!/usr/bin/env python3
gibt den korrekten vollständigen Binärpfad über zurücksys.executable
. Möglicherweise verhält sich Ihre Betriebssystem- oder Python-Version etwas anders.python
undpython3
Befehlen und es gedruckt , um die richtige ausführbare Datei.Ich stelle nur eine andere Art fragwürdiger Nützlichkeit fest
os.environ
:z.B
quelle
_
von der Shell festgelegt wird. Es muss jedoch nicht eingestellt werden, sodass dies die falsche Antwort geben kann.Es gibt einige alternative Möglichkeiten, um herauszufinden, welche Python derzeit unter Linux verwendet wird: 1)
which python
Befehl. 2)command -v python
Befehl 3)type python
BefehlIn ähnlicher Weise wird unter Windows mit Cygwin auch das gleiche Ergebnis erzielt.
Wenn Sie sich bereits in der Python-Shell befinden. Probieren Sie eines davon aus. Hinweis: Dies ist eine alternative Methode. Nicht der beste pythonische Weg.
quelle
python
aus der Shell eingeben. Wenn Sie mit einem explizit anderen Pfad beginnen (z. B./opt/python/2.5/bin/python
) oderpython3
diese Python-Befehle verwenden und dann ausführen, haben alle falsche Antworten hervorgebracht, und das hat nichts damit zu tun, dass Sie nicht die pythonischste Methode sind. Es ist einfach falsch.