Как мне найти полный путь работающего в данный момент интерпретатора Python из текущего исполняемого скрипта Python?
403
sys.executable
содержит полный путь текущего запущенного интерпретатора Python.
import sys
print(sys.executable)
который сейчас задокументирован здесь
/usr/bin/env python
выполняемой какenv -i ./script
. В этом случае он возвращает текущий рабочий каталог.#!/usr/bin/env python3
вернет правильный полный двоичный путь черезsys.executable
. Возможно, ваша версия ОС или Python ведет себя немного иначе.python
иpython3
командами , и он напечатал правильный исполняемый файл.Просто отметив другой способ сомнительной полезности, используя
os.environ
:например
источник
_
это устанавливается оболочкой. Но это не нужно устанавливать, так что это может дать неправильный ответ.Есть несколько альтернативных способов выяснить, какой в настоящее время Python используется в Linux: 1)
which python
команда. 2)command -v python
команда 3)type python
командаАналогично для Windows с Cygwin также получится то же самое.
Если вы уже находитесь в оболочке Python. Попробуйте любой из них. Примечание: это альтернативный способ. Не лучший питонический способ.
источник
python
из оболочки. Если вы начинаете с явно другого пути (например/opt/python/2.5/bin/python
), или используете,python3
а затем запускаете эти команды python, все они дают неправильные ответы, и это не имеет ничего общего с тем, что вы не самый питонический способ, это просто неправильно.