如何以编程方式获取python.exe位置?

How to get the python.exe location programmatically?

本问题已经有最佳答案,请猛点这里访问。

基本上,我想获得一个python解释器的句柄,这样我就可以(从外部应用程序)传递一个要执行的脚本文件。


这在Linux中有效,也许在Windows中也有效?

Python 2 x

1
2
3
>>> import sys
>>> print sys.executable
/usr/bin/python

Python 3 x

1
2
3
>>> import sys
>>> print(sys.executable)
C:\path\to\python.exe


如果在嵌入式Python环境中工作,则sys.executable不可靠。我的建议是从

1
2
import os
os.__file__


我认为这取决于您如何安装python。注意,您可以在我的机器上安装多个python。但是,如果您通过python 2.2或更高版本的msi安装,我相信它会创建一个这样的注册表项:

1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Python.exe

它在我的机器上给出了这个值:

1
C:\Python25\Python.exe

您只需读取注册表项即可获取位置。

但是,您可以通过一个类似于xcopy的模型来安装python,这个模型可以放在任意位置,您只需知道它安装在哪里。