如何在Windows上运行多个Python版本

问题描述 投票:149回答:14

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

如何指定要使用的内容?

我正在使用Windows XP SP2。

python windows python-3.x compatibility python-2.x
14个回答
117
投票

运行不同的Python副本就像启动正确的可执行文件一样简单。你提到你已经从命令行启动了一个python实例,只需输入python即可。

这在Windows下的作用是搜索%PATH%环境变量,检查可执行文件,批处理文件(.bat),命令文件(.cmd)或其他一些可运行的可执行文件,它们与给定的名称相匹配。当它找到要运行的正确文件时,就会这样做。

现在,如果你已经安装了两个python版本2.5和2.6,那么路径将包含它们的两个目录,类似于PATH=c:\python\2.5;c:\python\2.6,但Windows会在找到匹配时停止检查路径。

您真正需要做的是明确调用一个或两个应用程序,例如c:\python\2.5\python.exec:\python\2.6\python.exe

另一种方法是创建一个相应python.exe的快捷方式,调用其中一个python25和另一个python26;然后,您可以在命令行上运行python25


1
投票

在Windows上运行多个版本的python的最简单方法如下所述: -

1)通过选择系统的相关版本,从python.org/downloads下载最新版本的python。

2)运行安装程序并选择添加python 3.x到路径以在python 3中自动设置路径(您只需单击复选框)。对于python 2打开你的python 2安装程序,选择你想要的任何首选项,但只记得设置添加python.exe到路径将安装在本地硬盘驱动器上,现在只需单击下一步,等待安装程序完成。

3)两个安装完成后。右键单击我的计算机 - 转到属性 - 选择高级系统设置 - 转到环境变量 - 单击系统变量下的新建,并添加一个变量名为PY_PYTHON的新系统变量,并将此变量值设置为3。点击OK,你应该完成。

4)现在测试这个打开命令提示符。一旦你在那里键入python或py,它应该打开python3。

5)现在输入exit()退出python3。现在键入py -2它应该打开python 2。

如果这些都不起作用,则重新启动计算机,如果问题仍然存在,请卸载所有内容并重复上述步骤。

谢谢。


1
投票

我强烈推荐pyenv-win项目。

enter image description here

感谢kirankotari的工作,现在我们有了一个Windows版本的pyenv。


1
投票

我在使用不同的python版本时遇到了同样的问题,因此我使用anaconda navigator创建了不同的python开发环境,并在每个环境中使用了不同的python版本。

这是这方面的帮助文档。

https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/


0
投票

使用批处理文件切换,在Windows 7上轻松高效。我使用这个:

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

在用户变量部分

  1. 将%pathpython%添加到路径环境变量中
  2. 删除了对python路径的任何引用

在系统变量部分

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

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

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

文件内容=

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

     setx PathPython %PathPython%

要在版本之间切换,我在管理员模式下执行批处理文件。

!!!!!这些更改对SUBSEQUENT命令提示符窗口OPENED有效。 !

所以我对它有严格的控制权。


-1
投票

使用Rapid Environment Editor,您可以将所需的Python安装目录推送到顶部。例如,要从c:\ Python27目录启动python,请确保c:\ Python27目录位于Path环境变量中c:\ Python36目录之前或之上。根据我的经验,在Path环境中找到的第一个python可执行文件正在执行。例如,我在Python27上安装了MSYS2,因为我在C:\ Python36之前的路径中添加了C:\ MSYS2,正在执行C:\ MSYS2 ....文件夹中的python.exe。


-4
投票

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


81
投票

为问题添加另外两个解决方案:

  • 使用pylauncher(如果您使用的是Python 3.3或更新版本,则无需安装它,因为它已经使用Python的comes)并且可以在脚本中添加shebang行;

#! c:\[path to Python 2.5]\python.exe - 用于希望使用Python 2.5运行的脚本 #! c:\[path to 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 -p c:\[path to Python 2.5]\python.exe [path where you want to have virtualenv using Python 2.5 created]\[name of virtualenv]

virtualenv -p c:\[path to Python 2.6]\python.exe [path where you want to have virtualenv using Python 2.6 created]\[name of virtualenv]

例如

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

48
投票

从Python 3.3开始,有适用于Windows的官方Python启动器(http://www.python.org/dev/peps/pep-0397/)。现在,您可以使用#!pythonX在Windows上确定解释器的所需版本。查看更多详情in my another comment或阅读PEP 397。

简介:如果缺少py script.py#!将启动#!或Python 2中声明的Python版本。 py -3 script.py推出了Python 3。


44
投票

根据@alexander,您可以创建一组符号链接,如下所示。将它们放在路径中包含的位置,以便可以轻松调用它们

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

只要c:\ bin或者你把它们放在你的路径中,你就可以了

> python25

6
投票

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

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

C:\Python2.5\Python.exe

适用于Windows 2.5上的Python 2.5

C:\Python2.6\Python.exe

对于Windows 2.6上的Python 2.6

/usr/local/bin/python-2.5

要么

/usr/local/bin/python-2.6

上 视窗 Unix(包括Linux和OS X)。

在Unix(包括Linux和OS X)上安装时,您将获得一个通用的python命令,该命令将是您安装的最后一个命令。这通常不是问题,因为大多数脚本将显式调用/usr/local/bin/python2.5或其他只是为了防止这种情况。但如果您不想这样做,而您可能不这样做,则可以像这样安装:

./configure
make
sudo make altinstall

注意“altinstall”意味着它将安装它,但它不会取代python命令。

在Windows上,据我所知,你没有获得全局python命令,所以这不是问题。


4
投票

这是一个快速的黑客:

  1. 转到要运行的python版本的目录
  2. 右键单击python.exe
  3. 选择“创建快捷方式”
  4. 给该快捷方式一个名称来调用(我使用p27,p33等)
  5. 将该快捷方式移动到您的主目录(C:\Users\Your name
  6. 打开命令提示符并输入name_of_your_shortcut.lnk(我使用p27.lnk

3
投票
  1. 安装python C:\ Python27 C:\ Python36
  2. 环境变量 PYTHON2_HOME: C:\Python27 PYTHON3_HOME: C:\Python36 Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
  3. 文件重命名 C:\ Python27 \ python.exe→C:\ Python27 \ python2.exe C:\ Python36 \ python.exe→C:\ Python36 \ python3.exe
  4. 果仁 python2 -m pip install package python3 -m pip install package

2
投票

cp c:\ python27 \ bin \ python.exe为python2.7.exe

cp c:\ python34 \ bin \ python.exe为python3.4.exe

它们都在系统路径中,选择您要运行的版本

C:\Users\username>python2.7
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>>

C:\Users\username>python3.4
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

2
投票

例如,对于3.6版本类型py -3.6。如果您还有32位和64位版本,则只需输入py -3.6-64py -3.6-32即可。

© www.soinside.com 2019 - 2024. All rights reserved.