Как программно получить местоположение python.exe?

В принципе, я хочу получить дескриптор интерпретатора python, чтобы я мог передать файл script для выполнения (из внешнего приложения).

Ответ 1

Это работает в Linux, возможно, в Windows тоже?

>>> import sys
>>> print sys.executable
/usr/bin/python

Ответ 2

sys.executable не является надежным при работе во встроенной среде python. Мои предложения - вывести его из

import os
os.__file__

Ответ 3

Я думаю, это зависит от того, как вы установили python. Обратите внимание, что вы можете иметь несколько установок python, которые я делаю на своей машине. Тем не менее, если вы устанавливаете через msi версии python 2.2 или выше, я считаю, что он создает такой раздел реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Пути приложений \Python.exe

который дает это значение на моей машине:

C:\Python25\python.exe

Вы только что прочитали раздел реестра, чтобы получить местоположение.

Однако вы можете установить python с помощью xcopy-подобной модели, которую вы можете иметь в произвольном месте, и вам просто нужно знать, где она установлена.