Python子进程:如何使用与主线程不同的解释器运行python脚本 - python

我正在运行一个具有2.7嵌入式python解释器的应用程序。我需要将一个独立的python应用程序作为子进程运行,但是该应用程序仅与python 2.6兼容。如何强制使用python2.6解释器启动python应用程序?

python大神给出的解决方案

带来一些并发症,python脚本不是.py脚本,而是包装bash可执行文件(带有#!/ usr / bin / env python2)。

要使用python2.6运行脚本,您可以更改其shebang使其指向python2.6可执行文件:

#!/usr/bin/env python2.6

并直接运行脚本:

subprocess.check_call(['/path/to/your_script'] + sys.argv[1:])

sys.argv[1:]用于将命令行参数传递给子脚本。

如果您无法更改shebang,请运行:

subprocess.check_call(['/usr/bin/env', 'python2.6', '/path/to/your_script'] + 
                      sys.argv[1:])