查找用于安装当前包的Python版本?

3

有没有一种编程方式可以找到安装当前软件包所使用的Python版本?

如果你有一个名为mypackage的软件包,并且它的setup.py文件中有如下内容:

scripts = ["myscript.py"]

假设要使用特定的Python版本,如Python 2.x,使用easy_installpip安装软件包:
/usr/local/bin/python2.x setup.py install

那么在 myscript.py 中,你如何找出是使用 /usr/local/bin/python2.x 安装了 mypackage 而不是系统上其他可用的 Python 版本?我想要知道完整路径而不仅仅是版本信息,因为我想在我的脚本中使用 /usr/local/bin/python2.x

2个回答

2

使用 sys.executable

在系统中,如果有意义的话,该字符串给出 Python 解释器可执行二进制文件的绝对路径。如果 Python 无法检索到其可执行文件的真实路径,则 sys.executable 将是一个空字符串或 None。


这会始终检索用于安装的Python,而不是环境变量中第一次出现的Python(如bash的“PATH”变量)吗? - user248237
1
据我所知,它是用于运行访问sys.executable的脚本的解释器的绝对路径,不使用PATH。那里使用的描述是sys文档中的描述。 - KurzedMetal

1
请看 sys.version 或者 sys.version_info

这告诉我版本号,但我需要知道它在系统中的路径,以便我可以从myscript.py调用它。 - user248237

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接