基本上,我想掌握Python解释器,以便可以将一个脚本文件传递给它执行(来自外部应用程序)。
基本上,我想掌握Python解释器,以便可以将一个脚本文件传递给它执行(来自外部应用程序)。
这适用于Linux和Windows:
Python 3.x
>>> import sys
>>> print(sys.executable)
C:\path\to\python.exe
Python 2.x
>>> import sys
>>> print sys.executable
/usr/bin/python
如果在嵌入式Python环境中工作,sys.executable是不可靠的。我建议从中推断出它
import os
os.__file__
pathlib.Path(os.__file__).parents[2] / 'bin' / 'python'
。 - rthos.__file__
在虚拟环境中无法正常工作;它将返回基本环境的路径,因此可能需要一个if语句来首先检查sys.executable
,如果它不以"python
"结尾,则回退到os.__file__
。 - cowbertsys.base_prefix
和sys.prefix
分别为基本Python安装和虚拟环境提供帮助。 这很方便,因为我已经在导入sys
。 更多信息,请查看文档。 - David Thompson我认为这取决于您如何安装Python。请注意,您可以在计算机上安装多个版本的Python,就像我一样。但是,如果您通过Python 2.2或更高版本的msi安装程序进行安装,则会创建一个类似以下的注册表键:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Python.exe
在我的机器上,这个值是:
C:\Python25\Python.exe
您只需读取注册表键以获取位置。
但是,您可以通过类似于xcopy的模型安装Python,可以将其安装在任意位置,并且您只需要知道它安装在哪里即可。