如何在Windows上运行多个Python版本
我在我的电脑上安装了两个版本的Python(分别是2.6和2.5)。我想在一个项目中使用2.6,而在另一个项目中使用2.5。
我该怎么指定我想用哪个版本呢?
我现在使用的是Windows XP SP2。
25 个回答
根据@alexander的说法,你可以像下面这样创建一组符号链接。把它们放在一个包含在你的路径中的地方,这样就可以很方便地调用它们。
> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe
只要c:\bin或者你放置它们的地方在你的路径中,你现在就可以直接使用它们了。
> python25
这里有两个解决这个问题的办法:
- 使用 pylauncher(如果你安装的是 Python 3.3 或更新的版本,就不需要单独安装它,因为它已经包含在 Python 里了)并且可以在你的脚本中添加 shebang 行;
#! c:\[Python 2.5 的路径]\python.exe
- 用于你希望用 Python 2.5 运行的脚本
#! c:\[Python 2.6 的路径]\python.exe
- 用于你希望用 Python 2.6 运行的脚本
或者,你可以用 pylauncher 命令(py
)来运行,而不是直接用 python
命令,这样可以指定你想要的 Python 版本;
py -2.6
– 版本 2.6
py -2
– 最新安装的 2.x 版本
py -3.4
– 版本 3.4
py -3
– 最新安装的 3.x 版本
- 安装 virtualenv,然后创建两个虚拟环境;
virtualenv -p c:\[Python 2.5 的路径]\python.exe [你想要创建虚拟环境的路径]\[虚拟环境的名称]
virtualenv -p c:\[Python 2.6 的路径]\python.exe [你想要创建虚拟环境的路径]\[虚拟环境的名称]
例如:
virtualenv -p c:\python2.5\python.exe c:\venvs\2.5
virtualenv -p c:\python2.6\python.exe c:\venvs\2.6
然后你可以激活第一个虚拟环境,像这样使用 Python 2.5:
c:\venvs\2.5\activate
当你想切换到 Python 2.6 时,你可以这样做:
deactivate
c:\venvs\2.6\activate
运行不同版本的Python其实很简单,只需要启动正确的可执行文件就行。你提到你在命令行中输入了 python
来启动一个Python实例。
在Windows系统中,这个操作会查看 %PATH%
环境变量,寻找一个可执行文件,比如批处理文件(.bat
)、命令文件(.cmd
)或者其他可执行文件(这由 PATHEXT
环境变量控制),看看哪个文件的名字和你输入的匹配。一旦找到合适的文件,它就会运行这个文件。
假设你安装了两个Python版本,2.5和2.6,那么你的路径中会包含这两个版本的目录,比如 PATH=c:\python\2.5;c:\python\2.6
。不过,Windows在找到第一个匹配的文件后就会停止继续查找。
所以,你真正需要做的是明确地调用其中一个或两个应用程序,比如 c:\python\2.5\python.exe
或 c:\python\2.6\python.exe
。
另外一个方法是为各自的 python.exe
创建一个快捷方式,一个叫 python25
,另一个叫 python26
;这样你就可以在命令行中直接运行 python25
。