如何在Windows 7中安装Python 2.x和Python 3.x.

dln*_*385 221 python windows compatibility backwards-compatibility build-environment

我在Windows 7上使用Python 3.x进行大部分编程,但现在我需要使用Python Imaging Library(PIL),ImageMagick和wxPython,所有这些都需要Python 2.x.

我可以在Windows 7中安装Python 2.x和Python 3.x吗?当我运行脚本时,我如何"选择"应该运行哪个版本的Python?上述程序是否能够同时处理多个版本的Python?我已经搜索了几个小时和几个小时来如何做到这一点无济于事.

谢谢.

Ped*_*ner 145

我发现这样做的正式方法如下:

只需在Windows 7上安装两个(或更多,使用他们的安装程序)版本的Python(对我来说,使用3.3和2.7).

按照下面的说明,根据需要更改参数.

创建以下环境变量(双击默认值):

Name:  PY_PYTHON
Value: 3
Run Code Online (Sandbox Code Playgroud)

要在特定解释器中启动脚本,请添加以下shebang(脚本开头):

#! python2
Run Code Online (Sandbox Code Playgroud)

要使用特定解释器执行脚本,请使用以下prompt命令:

> py -2 MyScript.py
Run Code Online (Sandbox Code Playgroud)

要启动特定的口译员:

> py -2
Run Code Online (Sandbox Code Playgroud)

要启动默认解释器(由PY_PYTHON变量定义):

> py
Run Code Online (Sandbox Code Playgroud)

资源

文档:在Windows上使用Python

PEP 397 - 适用于Windows的Python启动器

  • 另外,要在两个版本中使用*easy_install*或*pip*,请将路径更改为包含`c:\ python35; c:\ python35\scripts; c:\ python27\scripts;`.这允许使用`pip2` /`pip3`和`easy_install-2.7` /`easy_install-3.5`而不是`pip`和`easy_install`. (8认同)
  • 不会与不附带自己的 Python 并坚持使用系统版本并且不尊重启动器的各种程序一起使用。 (2认同)

小智 72

我做的是下载2.7.6和3.3.4.Python 3.3.4可以选择在环境变量中添加它的路径,以便完成.所以基本上我只是手动添加了Python 2.7.6.

如何...

  1. 在环境中的搜索类型中选择"将环境变量编辑到您的帐户"1

  2. 向下滚动到路径,选择路径,单击编辑.

  3. 添加C:\ Python27; 所以你应该有两个版本的Python的路径,但如果你不这样做,你可以轻松地编辑它,这样你就可以..... C:\ Python27; C:\ Python33;

  4. 导航到C:\中的Python27文件夹,并将python.exe的副本重命名为python2.exe

  5. 导航到C:\中的Python34文件夹,并将python.exe的副本重命名为python3.exe

  6. 测试:打开命令提示符并输入python2 .... BOOM!Python 2.7.6.退出.

  7. 测试:打开命令提示符并输入python3 .... BOOM!Python 3.4.3.退出.

注意:(为了不在第4步和第5步中破坏pip命令,请将python.exe的副本保留在与重命名文件相同的目录中)

  • 这将打破pip2和pip3!不要替换python,复制它并将第二个文件重命名为python2/python3. (39认同)
  • 请注意,在恢复名称之前我无法卸载 python。我的建议是复制并重命名它们,但保留原始的 python.exe 文件**,正如 bruno 也提到的那样。 (2认同)
  • 您能否在答案中处理brunofitas反馈? (2认同)

mon*_*kut 50

我在Windows中有多个版本.我只是更改了我没有默认的版本的exe名称.

python.exe - > python26.exe

pythonw.exe - > pythonw26.exe

对于软件包安装程序,大多数exe安装程序允许您选择python安装来添加软件包.对于手动安装,请查看--prefix选项以定义软件包的安装位置:

http://docs.python.org/install/index.html#alternate-installation-windows-the-prefix-scheme

  • @ dln385:如果它回答了你的问题,你应该通过点击复选标记来接受它. (4认同)

phi*_*hem 30

如果您使用Anaconda Python,则可以轻松安装各种环境.

假设您安装了Anaconda Python 2.7并且您想要一个python 3.4环境:

conda create -n py34 python=3.4 anaconda
Run Code Online (Sandbox Code Playgroud)

然后激活环境:

activate py34
Run Code Online (Sandbox Code Playgroud)

并且deactive:

deactivate py34
Run Code Online (Sandbox Code Playgroud)

(使用Linux,你应该使用source activate py34.)

链接:

下载Anaconda Python

环境说明


Dmi*_*lev 8

从3.3版本开始Windows版本有Python启动器,请看第3.4节.适用于Windows的Python启动器


小智 8

这是你可以做的:

安装cmder.像使用cmd终端一样打开并使用Cmder.使用命令别名创建命令别名.

我做了以下事情:

alias python2 = c:\python27\python.exe
alias python3 = c:\python34\python.exe
Run Code Online (Sandbox Code Playgroud)

就是这样!;-)

  • ```set-alias python2 c:\ python27\python.exe``` (6认同)

Nik*_*kos 8

要在同一系统中安装并运行任何版本的Python,请遵循以下指南。


例如,说您要在同一Windows系统上安装Python 2.x和Python3.x。

  1. 在需要的任何位置安装它们的两个二进制发行版。

    • 出现提示时,请勿注册其文件扩展名和
    • 不要将它们自动添加到PATH环境变量中
  2. 仅运行命令python,便会选择要在PATH中首次遇到的可执行文件进行启动。换句话说,手动添加Python目录。键入时,将选择第一个添加的对象python。像这样选择连续的python程序(按顺序将其目录放置在PATH中):

    • py -2第二 python
    • py -3表示第三个python等等。
  3. 无论“ pythons”的顺序如何,您都可以:

    • 使用以下命令运行Python 2.x脚本:py -2(Python 3.x功能)(即,将选择在PATH中找到的第一个Python 2.x安装程序)
    • 使用以下命令运行Python 3.x脚本:或py -3(即,将选择在PATH中找到的第一个Python 3.x安装程序)

在我的示例中,我先安装了Python 2.7.14,然后安装了Python 3.5.3。这是我的PATH变量以以下内容开头的方式:

PATH = C:\ Program Files \ Microsoft MPI \ Bin \; C:\ Python27; C:\ Program Files \ Python_3.6 \ Scripts \; C:\ Program Files \ Python_3.6 \; C:\ ProgramData \ Oracle \ Java \ javapath; C:\ Program Files(x86)\ Common Files \ Intel \ Shared

...

请注意,Python 2.7是第一位,Python 3.5是第二位。

  • 因此,运行python命令将启动python 2.7(如果使用Python 3.5,则同一命令将启动Python 3.5)。
  • Running py -2启动Python 2.7(因为第二个Python是与兼容的Python 3.5 py -2)。运行py -3启动Python 3.5(因为它是Python 3.x)
  • 如果您稍后在路径中使用另一个python,则将像这样启动:py -4。如果/当发布Python版本4时,这可能会更改。

现在py -4py -5等在我的系统上输出:Requested Python version (4) not installedRequested Python version (5) not installed等。

希望这已经足够清楚了。

  • 如果有多个版本,这正是在Windows上应如何使用python的方式。 (2认同)

Sky*_*ion 7

我其实只是想到了一个有趣的解决方案.虽然Windows不允许您轻松地为程序设置别名,但您可以创建重命名的批处理文件来调用当前程序.

而不是重命名将破坏包括pip在内的许多东西的可执行文件,而是在与python2.exe相同的目录中创建文件python2.bat.然后添加以下行:

%~dp0python %*
Run Code Online (Sandbox Code Playgroud)

这种古老的语法意味着什么?好吧,这是一个批处理脚本,(Windows版本的bash).%~dp0获取当前目录,%*将只传递传递给脚本的python的所有参数.

重复python3.bat

您也可以为pip和其他实用程序执行相同操作,只需用pip或文件名替换文件中的单词python.别名将是文件的名称.

最重要的是,当添加到PATH时,Windows会忽略扩展程序以便运行

python3
Run Code Online (Sandbox Code Playgroud)

将启动python3版本,并且命令python2将启动python2版本.

顺便说一下,这是Spyder用于将自己添加到Windows路径上的相同技术.:)


li.*_*idm 3

您可以在一台计算机上安装多个版本的 Python,并且在安装过程中,您可以选择将其中一个版本与 Python 文件扩展名相关联。如果您安装模块,不同版本会有不同的安装包,或者您可以选择要定位的版本。由于它们通常将自己安装到解释器版本的 site-packages 目录中,因此不应该有任何冲突(但我还没有对此进行测试)。要选择 python 的版本,如果不是默认的,则必须手动指定解释器的路径。据我所知,它们会共享相同的 PATH 和 PYTHONPATH 变量,这可能是一个问题。

注意:我运行的是Windows XP。我不知道其他版本是否会发生任何变化,但我看不出任何原因。

  • 我同时安装了 python 2.5、2.6 和 3.1,我从来没有想过我可能需要做一些比只运行我需要的每个版本的所有安装程序更困难的事情。 (3认同)