Как узнать из запущенного скрипта, какой интерпретатор Python его запускает?

Я хотел бы вывести в своем скрипте полный путь интерпретатора Python, который его запускает:

#!/usr/bin/env python

print("{}".format(full_path_of_interpreter_running_this_script)

Скрипт находится в PATH и запускается как:

script.py

Могу ли я сделать это? Как?

Примечание. Выполнение which python или type python в bash мне не помогает, потому что я использую pyenv, а pyenv творит магию прокладок.

Примечание. Меня интересует не только определение исполняемого файла Python, но и определение используемого virtualenv, и я подумал, что знание полного пути к интерпретатору поможет мне в этом.


person blueFast    schedule 07.09.2016    source источник
comment
попробуйте sys.executable   -  person Jean-François Fabre    schedule 07.09.2016
comment
Спасибо, отлично, это именно то, что я искал. Ответ получает одобрение и одобрение!   -  person blueFast    schedule 07.09.2016
comment
Перед тем как ответить, я проверил, нет ли дубликатов, но не нашел. Хорошо, ответ добавлен.   -  person Jean-François Fabre    schedule 07.09.2016


Ответы (1)


Это дает полный путь к команде, которая использовалась для запуска скрипта:

import sys
print(sys.executable)
person Jean-François Fabre    schedule 07.09.2016