В принципе, я хочу получить дескриптор интерпретатора python, чтобы я мог передать файл script для выполнения (из внешнего приложения).
Как программно получить местоположение python.exe?
Ответ 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-подобной модели, которую вы можете иметь в произвольном месте, и вам просто нужно знать, где она установлена.