如何更新Python?
我已经从2012年初安装了2.7版本。我无法find任何共识,是否应该完全卸载并擦除此版本之前,将最新版本。
“软” – 删除旧版本? 硬删除/擦旧版本? 在顶部安装?
我已经看到了一个特殊的安装/升级过程,使用Python安装的“分段”方法,保持不同的版本分开,但function。 不知道这是否是事实上的标准。
我也想知道Revo是否过于热情,可能会导致清除仍然需要的残余物(如环境/pathvariables)的问题。
(Win7 x64,32位Python)
更新:2017-03-34
自2015年6月以来,Python(x,y)没有更新,所以我认为可以放弃它。
更新 :2016-11-11
正如下面的@cxw注释 ,这些答案是针对相同的位版本,而我所说的位版本是指64位与32位。 例如,这些答案将适用于从64位Python-2.7.10更新到64位Python-2.7.11, 即 : 相同的位版本。 虽然可以将两个不同的Python版本安装在一起,但是这需要一些黑客攻击,所以我会为读者保存这个练习。 如果你不想破解,我build议如果切换位版本,首先删除其他位版本。
更新 :2016-05-16
- 通过禁用更改Windows
PATH
和registry的选项, Anaconda和MiniConda可以与现有的Python安装一起使用。 解压缩后,创build一个符号链接到您的bin
或者从PyPI安装conda。 然后创build另一个名为conda-activate
符号链接,在Anaconda / Miniconda root bin文件夹中activate
。 现在Anaconda / Miniconda就像Ruby RVM一样。 只需使用conda-activate root
启用Anaconda / Miniconda。 - 可移植的Python不再被开发或维护。
TL; DR
- 相同的主要版本 ( 例如 2.7.5),只是安装在旧的( 如 2.7.4),
- 不同的主要版本 ( 如 3.3),与旧的,设置path/关联指向显性( 如 2.7),其他( 如在BASH
$ ln /c/Python33/python.exe python3
)的快捷方式$ ln /c/Python33/python.exe python3
。
答案取决于:
-
如果OP有2.7.x并且想要安装2.7.x的更新版本,那么
- 如果从官方的Python网站使用MSI安装程序 ,只需安装在旧版本,安装程序将发出警告,它将删除和replace旧版本; 确认旧版本已被新版本replace之前和之后,在“控制面板”中查看“安装的程序” 新版本的2.7.x是向后兼容的,所以这是完全安全的,因此恕我直言多个版本的2.7.x应该没有必要。
- 如果从源代码构build,那么你应该build立一个新的,干净的目录,一旦通过所有的testing,然后指向新的构buildpath,并确信它已经成功构build,但是你可能希望保留旧的周围build设,因为从源头build设可能偶尔有问题。 请参阅我的指南,了解如何使用SDK 7.0在Windows 7上构buildPython x64 。
- 如果从Python(x,y)等发行版进行安装,请参阅他们的网站。 Python(x,y)已经被放弃了。
我相信更新可以在Python(x,y)中通过它们的包pipe理器进行处理,但更新也包含在他们的网站上 。我找不到具体的参考,所以也许别人可以说这个。类似于ActiveState,可能Enthought,Python(x,y)明确指出它与其他Python安装不兼容:
build议在安装Python(x,y)之前卸载任何其他的Python发行版,
- Enthought Canopy使用MSI,并将分别安装到
Program Files\Enthought
或home\AppData\Local\Enthought\Canopy\App
中。 较新的安装通过使用内置的更新工具进行更新。 看他们的文件 。 - ActiveState也使用MSI,因此可以在旧版本上安装更新的安装。 看到他们的安装说明 。
其他Python 2.7安装在Windows上,ActivePython 2.7不能与其他Python 2.7安装共存(例如,python.org中的Python 2.7构build)。 在安装ActivePython 2.7之前卸载其他Python 2.7安装。
- Sagebuild议您将其安装到虚拟机中,并提供可用于此目的的Oracle VirtualBox映像文件。 升级是通过发出
sage -upgrade
命令在内部处理的。 -
Anaconda可以通过使用
conda
命令进行更新 :conda update conda conda update anaconda
Anaconda / Miniconda允许用户创build环境来pipe理多个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
和registry更改的选项。因此,Anaconda / Miniconda可以在不中断现有Python安装的情况下进行安装,具体取决于安装方式以及安装期间select的选项。 如果使用
.exe
安装程序,并且未禁用更改WindowsPATH
和registry的选项,则以前的任何Python安装都将被禁用 ,但是只需卸载Anaconda / Miniconda安装应该还原原始的Python安装,除了WindowsregistryPython\PythonCore
键。Anaconda / Miniconda进行下列registry编辑,无论安装选项如何:
HKCU\Software\Python\ContinuumAnalytics\
,包括以下关键字:Help
,InstallPath
,Modules
和PythonPath
– 官方Python也注册了这些键,但在Python\PythonCore
。 也为Anaconda \ Miniconda注册卸载信息。 除非在安装过程中select“注册Windows”选项,否则不会创buildPythonCore
,所以像Visual Studio Python Tools这样的集成不会自动查看Anaconda / Miniconda。 如果注册Anaconda / Miniconda的选项已启用,那么我认为您现有的Python Windowsregistry项将被更改,卸载可能无法恢复它们。 - WinPython更新,我认为可以通过WinPython控制面板进行处理。
- PortablePython 不再被开发 。
它没有更新的方法。可能更新可能被解压缩到一个新的目录,然后App\lib\site-packages
和App\Scripts
可能被复制到新的安装,但是如果这不起作用,那么重新安装所有的软件包可能是必须的。使用pip list
来查看已安装的软件包及其版本。有些是由PortablePython安装的。如果没有安装,使用easy_install pip
来安装pip。
-
如果OP有2.7.x并且想要安装不同的版本, 例如 <= 2.6.x或> = 3.xx,那么并排安装不同的版本就可以了。 您必须select与哪个版本的Python(如果有)关联
*.py
文件,以及在path上需要哪个版本,但是如果使用BASH,则应该能够使用不同path设置shell。 AFAIK 2.7.x与2.6.x是向后兼容的,所以恕我直言的并行安装是不必要的,但是Python-3.xx不是向后兼容的,所以我的build议是把Python-2.7放在你的path上Python-3是一个可选的版本,创build一个名为python3的可执行文件的快捷方式(这是Linux上的常用设置)。 Windows上官方的Python默认安装path是- C:\ Python33 for 3.3.x(latest 2013-07-29)
- C:\ Python32 for 3.2.x
- &C。
- C:\ Python27 for 2.7.x(latest 2013-07-29)
- C:\ Python26 for 2.6.x
- &C。
-
如果OP没有更新Python,而只是更新软件包,他们可能希望查看virtualenv ,以便将与开发项目相关的不同版本的软件包分开。 Pip也是更新软件包的好工具。 如果软件包使用二进制安装程序,我通常会在安装新软件包之前卸载旧的软件包。
我希望这可以消除任何混乱。
最好的解决scheme是在多个path中安装不同的Python版本。
例如。 C:\ Python27为2.7,C:\ Python33为3.3。
阅读本文以获取更多信息: 如何在Windows上运行多个Python版本
我总是刚刚安装了新版本,从来没有任何问题。 请确保您的path已更新为指向新版本。