当前位置: 首页 > 面试题库 >

如何更新Python?

凤柏
2023-03-14
问题内容

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

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

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

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

(Win7 x64,32位Python)


问题答案:

更新 日期: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和注册表的选项,Anaconda和MiniConda可以与现有的Python安装一起使用PATH。解压后,conda在您的binPyPI中创建符号链接到或安装conda。然后创建另一个名为符号链接conda-activateactivate在巨蟒/ Miniconda根bin文件夹。现在,Anaconda / Miniconda就像Ruby RVM。仅用于conda-activate root启用Anaconda / Miniconda。
  • 移植的Python不再被开发或维护。
  • 使用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还是更新软件包的好工具。如果软件包使用二进制安装程序,我通常会在安装新软件包之前先卸载旧软件包。

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



 类似资料:
  • 问题内容: 我正在运行Ubuntu 9:10,并安装了一个名为M2Crypto的软件包(版本为0.19.1)。我需要下载,构建和安装最新版本的M2Crypto软件包(0.20.2)。 0.19.1软件包的文件位于多个位置,包括(/ usr / share / pyshared和/usr/lib/pymodules.python2.6)。 在安装0.20.2之前如何从系统中完全卸载版本0.19.1?

  • 问题内容: 我做了以下更新我的npm: 但是我不知道如何更新Node.js。有什么建议?(我正在使用Node.js 0.4.1,并想更新到Node.js 0.6.1。) 问题答案: 使用节点版本管理器(NVM) 这是一个Bash脚本,可让您下载和管理不同版本的节点。完整的源代码在这里。 对于Windows的nvm有一个单独的项目:github.com/coreybutler/nvm- window

  • 我需要gradle ver 2.1.4所以我试着改变 类路径'com.android.tools.build:gradle:2.1.3'

  • 我有一个有大约200张幻灯片的PowerPoint演示文稿。每张幻灯片都有一个图表,其中的数据通过到主xlsx文件的链接每月更新一次。 为了不在图表中显示空值(未来月份),我打开数据编辑器(图表右键单击>Edit data...)并选择直到当前月份的范围。 我在PowerPoint中为它写了一个宏:

  • 当前安装的软件:Android Developer Tools 21.0.1.201212060302(com.Android.ide.eclipse.adt.package.product 21.0.1.201212060302) 一次只能安装下列其中之一: 无法满足依赖项: 无法满足依赖项:

  • 我在Elasticsearch中索引了一个文档,如下所示: 我尝试通过以下命令更新计数字段: 但是,我收到了以下错误: 我到底做了什么,却不见了?我在http://www.elasticsearch.org/guide/reference/api/update.html跟踪文件,但它不起作用。 此外,我还包括父字段: 但还是没有成功。有人能帮我解决这个错误吗?