【发布时间】:2013-08-10 15:44:00
【问题描述】:
我需要看看电脑上是否安装了 Python。
我的具体问题是我正在分发一个带有自己的解释器 + 标准库的程序(最终用户可能没有 Python)。在安装过程中,我可以选择使用用户自己安装的 Python 解释器 + 库(如果他们有的话)。但是,我需要那个位置。我可以要求用户手动找到它,但我希望有一种自动方式。
由于我的安装程序使用我包含的解释器,sys.prefix 指的是包含的解释器(我知道这一点是因为我尝试过,我安装了 Python 2.7 和 3.3)。
我也尝试使用subprocess.call:subprocess.call(['py', '-c', '"import sys; print sys.prefix"']),如果有的话,它会使用标准的 Python 解释器,但我不确定如何捕获这个输出。
那么,有没有其他方法可以查明用户电脑上是否安装了默认的 Python 版本以及安装在哪里?
【问题讨论】:
-
如果它是一个程序,你为什么要允许他们使用不同的python,而不是它打包的那个?如果它只是一个库,那你为什么要用解释器打包它?您如何打包您的程序以进行分发?
-
@JoranBeasley 它不仅仅适用于 Python 用户,因此它不仅仅是一个库。这是一个程序,但如果用户有 Python 2.7 版本,我将删除包含的安装并使用他们安装的一个(在两个解释器 + 库中没有意义)。