如何以编程方式使用其他 python 版本运行另一个 python 脚本?

Sui*_*tUp 4 python

如果我用 python 2.7 编写程序,并且想使用另一个 python (2.6) 运行另一个脚本文件,我该怎么做?

编辑:我这样做是因为我需要 Django (安装在 python 2.7 中)并且我需要一些仅适用于 python 2.6 的程序...

EDIT2:所以我编写了简单的脚本,它将在 python 2.6 中执行,我将在 python 2.7 中得到结果

Irf*_*rfy 5

您有多种选择,但最通用的概念是用于os.system执行脚本。

显式解释器

os.system('python2.6 myscript.py')
Run Code Online (Sandbox Code Playgroud)

依靠 shebang 选择合适的口译员

os.system('myscript.py')
Run Code Online (Sandbox Code Playgroud)

为此,您的脚本必须将第一行设置为

#!/usr/bin/env python2.6
Run Code Online (Sandbox Code Playgroud)

并且您的python2.6可执行文件需要位于您的PATH.

如果您需要 stdin/stdout 操作

subprocess.Popen('myscript.py', subprocess.PIPE) #relying on shebang
subprocess.Popen(['/usr/bin/env', 'python2.6', 'myscript.py'], subprocess.PIPE) #manual interpreter selection
Run Code Online (Sandbox Code Playgroud)

请参阅http://docs.python.org/library/subprocess.html#subprocess.Popen