<p>我正在为一些python脚本创建一个包装器,当计算机上安装了多个版本的python时,遇到了一个小问题。例如,在我的Mac上,可以通过命令行中的“python”访问Python2.7,也可以通过“python3”访问python3.4。是否有任何方法来确定当前python实例是如何启动的,以便我可以确定子进程将使用正确的版本?你知道吗</p>
<pre><code>import subprocess
def main():
pythonCommand = determineCommand() #What is python install as on this computer
argArray = [pythonCommand, "test.py"] #requires python 3.4
subprocess.call(argArray)
#What I need to figure out
def determineCommand():
#If Some Check
return "python3"
#Else some other check
return "python"
#else something weird
return "python34"
#and so on
if __name__ == "__main__":
main()
</code></pre>
<p>上面的代码不会在我的计算机上正确执行,但是在只安装了python3.4的计算机上它可以正常工作。将argArray更改为使用python3在我的计算机上工作,但在其他计算机上会破坏它。你知道吗</p>