首页 文章

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

提问于
浏览
201

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

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

谢谢 .

19 回答

  • 61

    我在自己安装了Python 2.7和Python 3.4的Windows计算机上所做的是在一个与Python.exe文件相同的目录中写了一个简单的.bat文件 . 他们看起来像,

    cmd /k "c:\python27\python.exe" %*
    

    %*允许您之后添加参数(Python文件) . 我相信/ k在完成脚本运行后会保持提示打开 . 然后我保存为python27.bat然后我去我的Python 3目录并在那里制作一个bat文件 . 现在在我的命令行中我可以写

    Python27 helloworld.py
    

    要么

    Python34 helloworld.py
    

    它们将在各自的Python版本中运行 . 确保c:\ python27和c:\ python34在您的环境变量中 .

    我从here得到了答案

  • -1

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

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

    %~dp0python %*
    

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

    重复python3.bat

    你也可以为pip和其他实用程序做同样的事情,只需用pip或文件名替换文件中的单词python . 别名将是文件的名称 .

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

    python3
    

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

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

  • 7

    这是你可以做的:

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

    我做了以下事情:

    alias python2 = c:\python27\python.exe
    alias python3 = c:\python34\python.exe
    

    就是这样! ;-)

  • -1

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

    注意:我运行Windows XP . 我不知道其他版本是否有任何变化,但我认为没有任何理由 .

  • 138

    安装Python后检查系统环境变量,python 3的目录应首先在PATH变量中,然后是python 2 .

    首先匹配的路径变量是Windows使用的路径变量 .

    一如既往py -2将在这种情况下启动python2 .

  • -1

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


    例如,假设您要在同一Windows系统上安装Python 2.x和Python 3.x.

    • 在任意位置安装两个二进制版本 .

    • 出现提示时,请不要注册其文件扩展名和

    • 不会自动将它们添加到PATH环境变量中

    • 只运行命令 python ,将选择在PATH中首次遇到的可执行文件进行启动 . 换句话说,手动添加Python目录 . 当您键入 python 时,将首先选择您首先添加的那个 . 将选择连续的python程序(增加其目录放在PATH中的顺序),如下所示:

    • py -2为第二个 python

    • py -3为第三个 python 等..

    • 无论“蟒蛇”的顺序如何,你都可以:

    • 使用以下命令运行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:\ ProgramFiles \ 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是第二个 .

    • 因此运行 python 命令将启动python 2.7(如果Python 3.5相同的命令将启动Python 3.5) .

    • 正在运行 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 等 .

    希望这很清楚 .

  • 28

    我按照这里的说明分三步完成了这一步:这一切都直接来自这里:http://ipython.readthedocs.io/en/stable/install/kernel_install.html . 我目前在Windows 8上运行Python 2.x并安装了Anaconda 4.2.13 .

    1)首先安装最新版本的python:

    conda create -n python3 python=3 ipykernel
    

    2)接下来激活python3

    activate python3
    

    3)安装内核:

    python -m ipykernel install --user
    

    如果您安装了Python 3并想要安装2,请切换上面的2和3 . 当您打开新笔记本时,您现在可以在Python 2或3之间进行选择 .

  • 6

    安装你最常用的一个(在我的情况下为3.3)在另一个的顶部 . 这会迫使IDLE使用你想要的那个 .

    或者(来自python3.3自述文件):

    安装多个版本

    在Unix和Mac系统上,如果您打算使用相同的安装前缀(configure脚本的--prefix参数)安装多个版本的Python,则必须注意安装不同版本不会覆盖主python可执行文件 . 使用“make altinstall”安装的所有文件和目录都包含主要版本和次要版本,因此可以并排使用 . “make install”还会创建$ / bin / python3,它引用$ /bin/pythonX.Y . 如果您打算使用相同的前缀安装多个版本,则必须确定哪个版本(如果有)是您的“主要”版本 . 使用“make install”安装该版本 . 使用“make altinstall”安装所有其他版本 .

    例如,如果要安装Python 2.6,2.7和3.3,其中2.7是主要版本,则可以在2.7 build目录中执行“make install”,在其他目录中执行“make altinstall” .

  • 47

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

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

    conda create -n py34 python=3.4 anaconda
    

    然后激活环境:

    activate py34
    

    并且deactive:

    deactivate py34
    

    (对于Linux,您应该使用 source activate py34 . )

    Links:

    Download Anaconda Python

    Instructions for environments

  • 0

    Only Works if your running your code in your Python IDE

    我的Windows操作系统上安装了Python 2.7和Python 3.3 . 如果我尝试启动一个文件,它通常会在python 2.7 IDE上打开 . 我是如何解决这个问题的,当我选择在python 3.3上运行我的代码时,我打开python 3.3 IDLE(Python GUI),选择文件,用IDLE打开我的文件并保存 . 然后,当我运行我的代码时,它会运行到我当前打开它的IDLE . 它的工作原理与2.7相反 .

  • 3

    我在Windows 10pro上安装了python 2.7.13和python 3.6.1,当我尝试pip2或pip3时,我得到了同样的“致命错误” .

    我纠正这个问题的方法是去python.exe的python 2和python 3文件的位置并创建每个文件的副本,然后根据python版本将每个副本重命名为python2.exe和python3.exe安装文件夹 . 因此,我在每个python安装文件夹中都有python.exe文件和python2.exe或python3.exe,具体取决于python版本 .

    当我键入pip2或pip3时,这解决了我的问题 .

  • 1

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

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

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

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

    Name:  PY_PYTHON
    Value: 3
    

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

    #! python2
    

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

    > py -2 MyScript.py
    

    要启动特定的口译员:

    > py -2
    

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

    > py
    

    Resources

    文件:Using Python on Windows

    PEP 397 - 适用于Windows的Python启动程序

  • 3

    我个人所做的非常简单 .

    系统:Windows 8.1 x86_64,Python x64版本

    • 安装最新的Python 3.x二进制文件并将目录添加到路径(我还注册.py扩展以使用Python 3.x运行) .

    • 安装最新的Python 2.x二进制文件(不使用它注册扩展而不添加到路径) .

    似乎Python 3.x提供了与Python 2.x if Python 2.x二进制文件的向后兼容性 .

    下载来自官方Python网站的安装程序 . 如上所述安装后,正常运行Python 3 . 现在为Python 2.x程序运行它们: py -2 [command] .

    测试了多个Python 2.x程序 .

  • 0

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

    如何...

    • 开始>在环境中的搜索类型中选择“将环境变量编辑到您的帐户”1

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

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

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

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

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

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

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

  • 2

    从3.3版本开始Windows版本有Python启动器,请看3.4节 . Python Launcher for Windows

  • 0

    我在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

  • 2

    我自己遇到了这个问题,我在.bat中创建了我的 Launcher ,因此您可以选择要启动的版本 .

    唯一的问题是你的.py必须在python文件夹中,但无论如何这里是代码:

    For Python2

    @echo off
    title Python2 Launcher by KinDa
    cls
    echo Type the exact version of Python you use (eg. 23, 24, 25, 26)
    set/p version=
    cls
    echo Type the file you want to launch without .py (eg. hello world, calculator)
    set/p launch=
    path = %PATH%;C:\Python%version%
    cd C:\Python%version%
    python %launch%.py
    pause
    

    For Python3

    @echo off
    title Python3 Launcher by KinDa
    cls
    echo Type the exact version of Python you use (eg. 31, 32, 33, 34)
    set/p version=
    cls
    echo Type the file you want to launch without .py (eg. hello world, calculator)
    set/p launch=
    cls
    set path = %PATH%:C:\Python%version%
    cd C:\Python%version%
    python %launch%.py
    pause
    

    将它们保存为.bat并按照里面的说明操作 .

  • 5

    我只需要安装它们 . 然后我使用http://defaultprogramseditor.com/下的免费(和便携)软件"File type settings" / "Context menu" / search:"py",选择了.py文件,并通过复制名为'open with IDLE,将名称更改为IDLE 3.4的existant命令为2 IDLE添加'open'命令.1 / 2.7.8,并在程序路径中重新提供各自版本的文件编号 . 现在我只需右键单击.py文件并选择我想要使用的IDLE . 如果您愿意,也可以使用直接口译员 .

  • 1

    如果您无法获得其他任何工作,请在您选择的任何版本中打开解释器(我更喜欢使用iPython)和:

    import subprocess
    
    subprocess.call('python script.py -flags')
    

    这使用您当前正在运行的任何python版本 . 适用于单个脚本,但如果运行了大量脚本,则会很快失控,在这种情况下,您始终可以制作包含所有这些调用的批处理文件 . 不是最优雅的答案,但它的确有效 .

    有没有办法为不同的python版本制作别名?

相关问题