如何更新Python?

发布于 2021-01-29 18:36:50

我已从2012年初开始安装2.7版。对于在安装最新版本之前是否应该完全卸载并擦除此版本,我无法达成共识。

“软件”删除旧版本?硬删除/清除旧版本?安装在顶部?

我在某处看到了一个特殊的安装/升级过程,该过程使用Python安装的“分段”方法,将不同的版本分开并保持功能。不知道这是否是事实上的标准方法。

我还想知道Revo是否太过热情,是否可能导致清除仍然需要的残留物(例如环境/ PATH变量)产生问题。

(Win7 x64,32位Python)

关注者
0
被浏览
48
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    更新 日期:2018-07-06

    这个帖子现在已经快5年了!2020年,Python-2.7将停止从python.org接收官方更新。此外,还发布了Python-3.7。查看Python-
    Future
    ,了解如何使您的Python-2代码与Python-3兼容。为了更新conda,文档现在建议conda update --all在您的每个conda环境中使用更新该版本的所有软件包和Python可执行文件。另外,由于它们将名称更改为Anaconda,所以我不知道Windows注册表项是否仍然相同。

    更新 日期:2017-03-24

    自2015年6月以来,没有对Python(x,y)进行任何更新,因此我可以肯定地认为它已被放弃。

    更新 :2016-11-11

    正如下面的@cxw注释所示,这些答案适用于相同的位版本,按位版本,我的意思是64位与32位。例如,这些答案将适用于从64位Python-2.7.10更新到64位Python-2.7.11,
    相同的
    位版本。虽然可以同时安装两个不同版本的Python,但这需要进行一些修改,因此,我将为读者保存该练习。如果您不想黑客,我建议如果切换位版本,请先删除其他位版本。

    更新 日期:2016-05-16

    • 通过禁用更改Windows和注册表的选项,AnacondaMiniConda可以与现有的Python安装一起使用PATH。解压后,conda在您的binPyPI中创建符号链接到或安装conda。然后创建另一个名为符号链接conda-activateactivate在巨蟒/ Miniconda根bin文件夹。现在,Anaconda / Miniconda就像Ruby RVM。仅用于conda-activate root启用Anaconda / Miniconda。
    • 可移植的Python不再被开发或维护。

    TL; DR

    • 使用Anaconda或miniconda,然后执行conda update --all以保持每个conda环境的更新,
    • 同样 重要 的版本官方的Python比如 2.7.5),只需安装过旧的( 2.7.4),
    • 不同的 主要 版本正式的Python 3.3),与老,设置路径/联装并排方点到显性的( 2.7),快捷方式等( 在bash $ ln /c/Python33/python.exe python3)。

    答案取决于:

    1. 如果OP具有2.7.x,并且要安装较新的2.7.x,则

      • 如果使用MSI安装程序Python官方网站上,只要安装了旧版本,安装程序会发出警告,它会删除并替换旧版本; 前后检查“控制面板”中的“已安装程序”,以确认旧版本已被新版本替换;2.7.x的较新版本向后兼容,因此这是完全安全的,因此,IMHO 2.7.x的多个版本永远不需要。
      • 如果是从源代码构建的,那么您可能应该构建在一个全新的,干净的目录中,一旦通过所有测试,并且确信已成功构建,则将您的路径指向新的构建,但是您可能希望保留旧的进行构建,因为从源进行构建有时可能会遇到问题。请参阅我的指南,以在带有SDK 7.0的Windows 7上构建Python x64
      • 如果从诸如Python(x,y)之类的发行版进行安装,请访问其网站。 Python(x,y) 已被放弃。 我相信可以使用其程序包管理器在Python(x,y)内处理 更新,但是更新也包含在其网站上。我找不到具体的参考,所以也许有人可以对此发表意见。与ActiveState相似,并且可能是有思想的,Python(x,y)明确指出它与Python的其他安装不兼容:

    建议在安装Python(x,y)之前先卸载所有其他Python发行版

    * [Enthought Canopy](https://www.enthought.com/downloads/)使用MSI,并将分别安装到所有用户中或为所有用户安装,`Program Files\Enthought`或`home\AppData\Local\Enthought\Canopy\App`针对每个用户安装。通过使用内置的更新工具来更新较新的安装。请参阅他们的[文档](http://docs.enthought.com/canopy/quick-start/install_windows.html)。
    * [ActiveState](http://www.activestate.com/activepython/downloads)还使用MSI,因此可以在较旧的安装之上安装较新的安装。请参阅其[安装说明](http://docs.activestate.com/activepython/2.7/installnotes.html#msi)。
    

    其他Python 2.7安装在Windows上,ActivePython 2.7无法与其他Python
    2.7安装共存(例如,来自python.org的Python 2.7构建)。在安装ActivePython 2.7之前,请卸载所有其他Python
    2.7安装。

    * [Sage](http://www.sagemath.org/download-windows.html)建议您将其安装到虚拟机中,并提供可用于此目的的Oracle VirtualBox映像文件。发出`sage -upgrade`命令在内部处理升级。
    * [](https://store.continuum.io/cshop/anaconda/)可以[使用以下`conda`命令](http://docs.continuum.io/anaconda/install.html#updating-from-older-anaconda-versions)来[更新](http://docs.continuum.io/anaconda/install.html#updating-from-older-anaconda-versions)[Anaconda](https://store.continuum.io/cshop/anaconda/):
    
                conda update --all
    

    Anaconda / Miniconda允许用户创建 环境 来管理多个Python版本,包括Python-
    2.6、2.7、3.3、3.4和3.5。Anaconda / Miniconda的根安装当前基于Python-2.7或Python-3.5。

    Anaconda可能会破坏其他Python安装。 安装使用MSI安装程序。 [ 更新 :2016-05-16]
    Anaconda和Miniconda现在使用.exe安装程序,并提供选项来禁用WindowsPATH和注册表更改。

    因此,可以根据自己的安装方式和安装过程中选择的选项,在不中断现有Python安装的情况下安装Anaconda /
    Miniconda。如果.exe使用安装程序和选项来改变的WindowsPATH和注册表都 没有 禁用,则任何以前的Python的安装
    将被禁用 ,但只需卸载蟒蛇/ Miniconda安装应恢复原来的Python安装,也许除了Windows注册表Python\PythonCore键。

    蟒蛇/
    Miniconda使得下面的注册表编辑无论安装选项:HKCU\Software\Python\ContinuumAnalytics\使用下列按键:HelpInstallPathModulesPythonPath-
    Python官方注册过这些按键,但下Python\PythonCore。还为Anaconda \
    Miniconda注册了卸载信息。除非在安装过程中选择“在Windows中注册”选项,否则它不会创建PythonCore,因此像Visual
    Studio的Python Tools这样的集成不会自动看到Anaconda / Miniconda。如果注册蟒蛇/ Miniconda选项
    激活,那么我认为您现有的Python Windows注册表项将被改变和卸载可能不会恢复它们。

    * [](https://winpython.github.io/)我认为,可以通过[WinPython控制面板](https://github.com/winpython/winpython/wiki/Winpython-Control-Panel)处理[WinPython](https://winpython.github.io/)更新。
    * [PortablePython](http://portablepython.com/)是 **不再被开发** 。 ~~它没有更新方法。 可能更新可以解压缩到一个新的目录,然后`App\lib\site-packages`和`App\Scripts`可以复制到新安装的,但如果没有工作,然后重新安装所有的包可能是必要的。使用`pip list`查看包安装了什么,它们的版本。其中一些是由PortablePython安装的。使用`easy_install pip`如果未安装它安装点子。~~
    
    1. 如果OP具有2.7.x,并希望安装其他版本, 例如 <= 2.6.x或> = 3.xx,则可以并行安装其他版本。您必须选择要与*.py文件关联的Python版本(如果有),以及要在路径中使用的版本,但是如果使用BASH则应该能够使用不同的路径设置shell 。AFAIK 2.7.x向后兼容2.6.x,因此不需要IMHO并排安装,但是Python-3.xx不向后兼容,因此我的建议是将Python-2.7放在您的路径上并具有通过创建指向可执行文件的快捷方式python3(这是Linux上的常见设置),Python-3是可选版本。Windows上官方的Python默认安装路径是

      • 适用于3.3.x的C:\ Python33(最新2013-07-29)
      • C:\ Python32 for 3.2.x
      • &C。
      • C:\ Python27 for 2.7.x(最新2013-07-29)
      • C:\ Python26 for 2.6.x
      • &C。
      • 如果OP不是在更新Python,而只是在更新软件包,则他们可能希望研究virtualenv,以使其开发项目专用的软件包的不同版本分开。Pip还是更新软件包的好工具。如果软件包使用二进制安装程序,我通常会在安装新软件包之前先卸载旧软件包。

    我希望这可以消除任何混乱。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看