我的机器上安装了两个版本的Python(版本2.6和2.5)。我想在一个项目上运行2.6,在另一个项目上运行2.5。

我如何指定我想要使用哪个?

我正在使用Windows XP SP2。


当前回答

根据@alexander,你可以像下面这样创建一组符号链接。把它们放在包含在路径中的某个地方,这样就可以很容易地调用它们

> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe

只要c:\bin或者你放置它们的地方在你的路径中,你现在就可以去了

> python25

其他回答

只需调用正确的可执行文件

这里有一个快速的方法:

进入要运行的python版本的目录 右键单击python.exe 选择“创建快捷方式” 给快捷方式起个名字(我用p27, p33等) 移动快捷方式到你的主目录(C:\Users\你的名字) 打开命令提示符,输入name_of_your_shortcut.lnk(我使用p27.lnk)

从Python 3.3开始,Windows有官方的Python启动器(http://www.python.org/dev/peps/pep-0397/)。现在,您可以使用#!pythonX来确定在Windows上需要的解释器版本。在我的另一条评论中查看更多细节,或阅读PEP 397。

概要:py script.py会启动#!如果#!不见了。py -3 script.py启动Python 3。

为这个问题增加了两个解决方案:

使用pylauncher(如果你有Python 3.3或更新版本,不需要安装它,因为Python已经自带了),或者在你的脚本中添加shebang行;

# !c:\[Python 2.5的路径]\ Python .exe -用于您希望在Python 2.5中运行的脚本 # !c:\[Python 2.6的路径]\ Python .exe -用于您希望在Python 2.6中运行的脚本

或者不是运行python命令,而是运行pylauncher命令(py) specyfing你想要的python版本;

Py -2.6 -版本2.6 Py -2 -最新安装版本2.x Py -3.4 -版本3.4 Py -3 -最新安装版本3.x

安装virtualenv并创建两个virtualenv;

virtualenv -p c:\[Python 2.5的路径]\ Python .exe[使用Python 2.5创建virtualenv的路径]\[virtualenv的名称]

virtualenv -p c:\[Python 2.6的路径]\ Python .exe[使用Python 2.6创建virtualenv的路径]\[virtualenv的名称]

例如

Virtualenv -p c:\python2.5\python.exe c:\venvs\2.5 .exe

Virtualenv -p c:\python2.6\python.exe c:\venvs\2.6 .exe

然后你可以激活第一个并像这样使用Python 2.5 c: \ venvs \ 2.5 \激活 当你想切换到Python 2.6时,你可以这样做

deactivate  
c:\venvs\2.6\activate

安装Python时,它不会覆盖其他主要版本的其他安装。安装Python 2.5。x不会覆盖Python 2.6。尽管安装2.6.6会覆盖2.6.5。

所以你可以安装它。然后调用你想要的Python版本。例如:

C:\Python2.5\Python.exe

用于windows上的Python 2.5和

C:\Python2.6\Python.exe

适用于windows上的Python 2.6,或者

/usr/local/bin/python-2.5

or

/usr/local/bin/python-2.6

Windows Unix(包括Linux和OS X)。

当你在Unix(包括Linux和OS X)上安装时,你会安装一个通用的python命令,这将是你安装的最后一个命令。这基本上不是问题,因为大多数脚本会显式调用/usr/local/bin/python2.5或其他东西来防止这种情况发生。但是如果你不想这样做,你可能不想这样做,你可以这样安装它:

./configure
make
sudo make altinstall

注意,“altinstall”表示它将安装该命令,但不会替换python命令。

据我所知,在Windows上你不会得到一个全局python命令,所以这不是一个问题。