从运行脚本获取python安装路径

Ama*_*nth 7 python

我的计算机上安装了两个版本的python.3.2 64位安装在C:\ Python32 \和2.7 32位安装在C:\ Python27中.

我还在注册表(64位和32位)中挖掘了一个C#应用程序,以获取最合适的python版本的安装路径,具体取决于各种条件.

我有一个名为Code.py的脚本,它由C#应用程序使用它选择的python版本运行.

在Code.py脚本,我想要运行位于用C另一个脚本:\ Python32\Scripts中或C:\ Python27\Scripts中,这取决于使用了哪个Python版本上.但是,我想知道用于运行我当前脚本的python.exe文件的安装路径是什么.有没有办法做到这一点,或者我必须将C#应用程序选择的安装路径传达为我运行脚本时的一个参数(我想避免)?

编辑:我使用此代码将脚本中的脚本称为外部脚本

p = subprocess.Popen(["python", installPath + "\\Scripts\\Flake8", file], stdout=subprocess.PIPE)
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 13

使用sys.executable.

>>> import sys
>>> sys.executable
'/usr/bin/python'
Run Code Online (Sandbox Code Playgroud)

os.path.split() 如果您需要的只是路径,则删除最后一个组件:

>>> import os.path
>>> os.path.split(sys.executable)
('/usr/bin', 'python')
Run Code Online (Sandbox Code Playgroud)