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

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

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

我正在使用Windows XP SP2。

338654 次浏览

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

安装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

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

运行不同的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.exec:\python\2.6\python.exe

另一种替代方法是为各自的python.exe创建一个快捷方式,其中一个调用python25,另一个调用python26;然后你可以简单地在命令行上运行python25

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

  • 使用pylauncher(如果你有Python 3.3或更新版本,则不需要安装它,因为它已经使用Python 来了),并在脚本中添加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 - version 2.6
py -2 -最新安装版本2.x
py -3.4 - version 3.4
py -3 -最新安装版本3。x < / p >

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 < br > 当你想切换到Python 2.6时,执行

deactivate
c:\venvs\2.6\activate

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

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

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

> python25

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

简介: py script.py启动在#!或Python 2中声明的Python版本(如果缺少#!)。py -3 script.py启动Python 3。

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.
>>>

这里有一个快速的方法:

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

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

在windows上运行多个版本的python的最简单方法如下

1)从python.org/downloads下载最新版本的python,选择适合你的系统的版本。

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

3)两个安装完成后。右键点击我的电脑——进入属性——选择高级系统设置——进入环境变量——在系统变量下面点击new,并添加一个新的系统变量,其中变量名PY_PYTHON,并将这个变量值设置为3.。现在点击好吧,你应该完成了。

4)现在要测试这个,打开命令提示符。一旦你在那里输入pythonpy,它应该打开python3

5)现在通过输入退出()退出python3。现在输入py 2,它应该会打开python 2。

如果这些都不行,那么重新启动计算机,如果问题仍然存在,那么卸载所有软件并重复上述步骤。

谢谢。

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

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

在部分用户变量

  1. 添加了%pathpython%到path环境变量

  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%

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

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

所以我可以完全控制它。

  1. < p >安装python

    • C: \ Python27
    • C: \ Python36
    • 李< / ul > < / >
    • < p >环境变量

      • PYTHON2_HOME: C:\Python27
      • PYTHON3_HOME: C:\Python36
      • Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
      • 李< / ul > < / >
      • < p >文件重命名

        • C:\Python27\python2.exe→C:\Python27\python2.exe
        • C:\Python36\python3.exe→C:\Python36\python3.exe
        • 李< / ul > < / >
        • < p >皮普

          • python2 -m pip install package
          • python3 -m pip install package
          • 李< / ul > < / >
例如,对于3.6版本,类型为py -3.6。 如果你也有32位和64位版本,你可以只输入py -3.6-64py -3.6-32.

我强烈推荐pyenv-win项目。

enter image description here

多亏了kirankotari的工作,现在我们有了pyenv的Windows版本。

你可以通过Anaconda Navigator图形化创建不同的python开发环境。 我在使用不同的python版本时遇到了同样的问题,所以我使用anaconda navigator来创建不同的python开发环境,并在每个环境中使用不同的python版本

下面是相关的帮助文档。

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

我认为这个答案可能对拥有多个python版本并希望使用pipenv创建虚拟环境的其他人有所帮助。

  1. 导航到项目目录,并运行py -[python version] pip install pipenv,例如:py -3.6 pip install pipenv
  2. 运行pipenv --python [version]创建你想要的python版本的虚拟环境。例如:pipenv --python 3.6
  3. 运行pipenv shell激活虚拟环境。

假设我们安装了python 3.7和python 3.6。

它们默认分别存储在以下文件夹中。

< p > C: \ \用户名\ AppData \本地Python \程序\ \ Python36 C:\Users\name\AppData\Local\Programs\Python\ Python37 < / p >

如果我们想在上述任何特定环境中使用CMD提示符来安装/运行命令,请这样做:

在上面的每个文件夹中都应该有python.exe。

因此,当我们尝试运行任何文件的ex.(见image1) python hello.py。我们称之为相应的python.exe。默认情况下,它选择较低版本的文件。(在这种情况下,它将从python 3.6使用)

image

如果我们想使用python3.7运行。只需更改.exe文件名。例如,如果我更改为python37.exe,并且我想使用python3.7来运行hello.py

我将使用python37 hello.py。或者如果我想在默认情况下使用python3.7,我会将python3.6文件夹中的python.exe文件名更改为其他文件。这样当我每次只使用python hello.py时,它都会使用python3.7

一个简单的方法是使用

py -3.8 -m pip install virtualenv这里的-3.8和你的[version number]一起

安装virtualenv之后,可以使用

py -3.8 -m virtualenv [your env name]

然后cd到venv,输入activate

这将激活你喜欢的python版本。 只需更改版本号以使用不同的python版本

这是一个简单而优雅的解决方案,可以轻松地运行2个或更多不同版本的python,而无需在Windows中使用脚本。无论python的版本是什么,它都将从命令提示符开始。

我有python 3.6.6和3.9版本。环境变量路径是正常的,在安装每个版本的python时自动添加。

安装python时,最好使用“all users"选择。这样,python将简单地安装到:

C:\program files\python36
C:\program files\python39

打开每个python文件夹,找到python.exe文件。将python.exe文件复制并粘贴到相同的文件夹中。然后小心地将副本重命名为:

python36.exe
python39.exe

打开并编辑“环境变量”。添加4个新的用户变量。

C:\Program Files\Python36\Scripts
C:\Program Files\Python36\python36.exe
C:\Program Files\Python39\Scripts
C:\Program Files\Program39\python39.exe

保存并退出“环境变量”。

打开一个新的命令提示符终端窗口。要运行一个或另一个版本的python,输入:

python36


python39

通过重复上面所示的操作,可以轻松添加更多版本的python。优雅而简单。完成了。

根据@Aman给出的答案介绍更多细节。 为不同的python版本定义不同的环境变量。 例如:< / p >

  • 你同时有E:\python2\python.exeE:\python3\python.exe
  • 然后你可以为E:\python2\python.exe设置环境变量%python2%,为E:\python3\python.exe设置环境变量%python2%
  • 最后,当你想运行python2(或python3)时,你可以在命令提示符中直接输入%python2%(或%python3%)。

显示已安装的python

py -0

使用python的版本来做一些事情

py -*version*

前女友。

py -3.8 venv venv

将在python 3.8中创建虚拟环境

注意:

python -0
or
python -3.8

不行,我想应该是"py"

这里有一个解决方案:

  1. 首先,在你的电脑上安装你想要运行的所有版本。https://www.python.org/
  2. 其次,创建你想使用的python版本的虚拟环境。 py [python_version] -m venv [vritual_environment_name]"例如:"py -3.9 -m venv env"

注意:您不需要运行“pip install virtualenv”;

你可以尝试使用py -{your version of python}。 希望这能有所帮助!!< / p >