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

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

我正在使用Windows XP SP2。


当前回答

例如,对于3.6版本,键入py -3.6。 如果你也有32位和64位版本,你可以输入py -3.6-64或py -3.6-32。

其他回答

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

安装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命令,所以这不是一个问题。

使用批处理文件切换,在windows 7上简单高效。我用这个:

在环境变量对话框(C:\Windows\System32\SystemPropertiesAdvanced.exe)

在部分用户变量

添加了%pathpython%到path环境变量 删除了对python路径的任何引用

在部分系统变量

删除了对python路径的任何引用

我为每个python安装都创建了批处理文件(例如3.4 x64)

Name = SetPathPython34x64 !!ToExecuteAsAdmin.bat;-)只是为了记住。

文件的内容=

     Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin

     setx PathPython %PathPython%

为了在版本之间切换,我以管理模式执行批处理文件。

! !这些更改对随后的命令提示符窗口“已打开”有效。!!!

所以我可以完全控制它。

运行不同的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即可。

显示已安装的python

py -0

使用python版本来做某事

py -*version*

ex.

py -3.8 venv venv

将在python 3.8中创建虚拟环境

注意:

python -0 
 or
python -3.8

不工作,我认为它必须是“py”