我从2012年初开始安装2.7版本 . 在推出最新版本之前,我没有找到任何关于是否应该完全卸载并擦除此版本的共识 .
“软” - 旧版本?难以移除/擦除旧版本?安装在顶部?
我已经在某处使用Python安装的“分段”方法看到了一个特殊的安装/升级过程,使不同版本保持独立和分离,但功能齐全 . 不确定这是否是标准的,事实上的方式 .
我也想知道Revo是否过于热心并且可能导致消除仍然需要的残余物的问题,例如环境/ PATH变量 .
(Win7 x64,32位Python)
UPDATE :2018-07-06这篇文章现已近5岁! Python-2.7 will stop receiving official updates from python.org in 2020 . 另外,Python-3.7 has been released . 查看Python-Future,了解如何使Python-2代码与Python-3兼容 . 为了更新conda,文档现在建议在每个conda环境中使用 conda update --all 来更新该版本的所有包和Python可执行文件 . 此外,由于他们将名称更改为Anaconda,我不知道Windows注册表项是否仍然相同 .UPDATE :2017-03-24自2015年6月以来,Python(x,y)一直没有更新,所以我认为假设它已被放弃是安全的 .UPDATE :2016-11-11如@cxw comments below,这些答案是针对相同的位版本,而位版本的意思是64位与32位 . 例如,这些答案适用于从64位Python-2.7.10更新到64位Python-2.7.11,即: same 位版本 . 虽然可以将两个不同位版本的Python一起安装,但它需要一些黑客攻击,所以我想要破解,我建议如果切换位版本,首先删除其他位版本 .UPDATES :2016-05-16通过禁用更改Windows PATH 和注册表的选项,
conda update --all
PATH
Anaconda和MiniConda可与现有Python安装一起使用 . 提取后,在 bin 中创建一个符号链接到 conda 或从PyPI安装conda . 然后在Anaconda / Miniconda根bin文件夹中创建另一个名为 conda-activate 的符号链接到 activate . 现在Anaconda / Miniconda就像Ruby RVM一样 . 只需使用 conda-activate root 即可启用Anaconda / Miniconda .
bin
conda
conda-activate
activate
conda-activate root
不再开发或维护便携式Python .
使用Anaconda or miniconda,然后执行 conda update --all 以保持每个conda环境的更新,
same major version of official Python (例如2.7.5),只需安装旧版(例如2.7.4),
different major version of official Python (例如3.3),与旧的设置路径/关联并排安装以指向显性(例如2.7),快捷方式(例如在BASH $ ln /c/Python33/python.exe python3 中) .
$ ln /c/Python33/python.exe python3
如果OP有2.7.x并想要安装更新版本的2.7.x,那么
如果在official Python website中使用MSI installer,只需安装旧版本,安装程序将发出警告,表示它将删除并替换旧版本;在确认旧版本已被新版本替换之前和之后"control panel"中查看"installed programs";较新版本的2.7.x是向后兼容的,因此这是完全安全的,因此恕我直言的2.7.x的多个版本永远不需要 .
如果从源代码构建,那么你应该构建一个新的,干净的目录,然后在通过所有测试后指向新构建的路径,并且你确信它已经成功构建,但你可能希望保留因为从源头构建可能偶尔会出现问题 . 看我的guide for building Python x64 on Windows 7 with SDK 7.0 .
如果从Python(x,y)等发行版安装,请参阅他们的网站 . Python(x,y) has been abandoned. 我相信可以使用包管理器在Python(x,y)中处理更新,但更新也包含在他们的网站上 . 我找不到具体的参考,所以也许其他人可以对此说话 . 与ActiveState和Enthought类似,Python(x,y)明确指出它与其他Python安装不兼容:
建议在安装Python(x,y)之前卸载任何其他Python发行版
Enthought Canopy使用MSI,将分别为所有用户或每个用户安装到 Program Files\Enthought 或 home\AppData\Local\Enthought\Canopy\App . 使用内置更新工具更新较新的安装 . 看他们的documentation .
Program Files\Enthought
home\AppData\Local\Enthought\Canopy\App
ActiveState也使用MSI,因此可以在较旧的安装之上安装较新的安装 . 看他们的installation notes .
其他Python 2.7安装在Windows上,ActivePython 2.7无法与其他版本共存Python 2.7安装(例如,python.org的Python 2.7版本) . 在安装ActivePython 2.7之前卸载任何其他Python 2.7安装 .
Sage建议您将其安装到虚拟机中,并提供可用于此目的的Oracle VirtualBox映像文件 . 通过发出 sage -upgrade 命令在内部处理升级 .
sage -upgrade
Anaconda可以updated by using the conda command:
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安装程序 . [ UPDATE :2016-05-16] Anaconda和Miniconda现在使用 .exe 安装程序并提供禁用Windows PATH 和注册表更改的选项 .
.exe
因此,可以在不中断现有Python安装的情况下安装Anaconda / Miniconda,具体取决于安装方式和安装期间选择的选项 . 如果使用 .exe 安装程序并且未禁用更改Windows PATH 和注册表的选项,则将禁用任何以前的Python安装,但只需卸载Anaconda / Miniconda安装即可恢复原始Python安装,但Windows Registry Python\PythonCore 键除外 .
Python\PythonCore
Anaconda / Miniconda进行以下注册表编辑,无论安装选项如何: HKCU\Software\Python\ContinuumAnalytics\ ,并带有以下键: Help , InstallPath , Modules 和 PythonPath - 官方Python也注册这些键,但在 Python\PythonCore 下 . 此外,还为Anaconda \ Miniconda注册了卸载信息 . 除非您在安装期间选择"Register with Windows"选项,否则它不会创建 PythonCore ,因此像Visual Studio的Python工具之类的集合不会自动看到Anaconda / Miniconda . 如果启用了注册Anaconda / Miniconda的选项,那么我认为您现有的Python Windows注册表项将被更改,卸载可能无法恢复它们 .
HKCU\Software\Python\ContinuumAnalytics\
Help
InstallPath
Modules
PythonPath
PythonCore
我认为
WinPython更新可以通过WinPython Control Panel来处理 .
PortablePython是 no longer being developed . 它没有更新方法 . 可能更新可以解压缩到一个新目录,然后可以将App \ lib \ site-packages和App \ Scripts复制到新安装,但如果这不起作用,则可能需要重新安装所有软件包 . 使用pip list查看已安装的软件包及其版本 . 一些是由PortablePython安装的 . 如果没有安装,请使用easy_install pip安装pip .
如果OP具有2.7.x并且想要安装不同的版本,例如<= 2.6.x或> = 3.x.x,然后并排安装不同版本就可以了 . 您必须选择与 *.py 文件关联的Python版本(如果有)以及您希望在路径中使用哪个版本,但如果您使用BASH,则应该能够设置具有不同路径的shell . AFAIK 2.7.x向后兼容2.6.x,因此恕我直言安装并不是必需的,但Python-3.xx不向后兼容,所以我的建议是将Python-2.7放在你的路径上并拥有Python-3是一个可选版本,通过创建一个名为python3的可执行文件的快捷方式(这是Linux上的常见设置) . Windows上的官方Python默认安装路径是
*.py
C:\ Python33 for 3.3.x(最新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.
如果OP没有更新Python,只是更新软件包,他们可能希望查看virtualenv以保持特定于其开发项目的不同版本的软件包 . Pip也是更新包的好工具 . 如果包使用二进制安装程序,我通常会在安装新包之前卸载旧包 .
我希望这可以解决任何困惑 .
最佳解决方案是在多个路径中安装不同的Python版本 .
例如 . C:\ Python27 for 2.7,C:\ Python33 for 3.3 .
阅读本文了解更多信息:How to run multiple Python versions on Windows
官方Python .msi安装程序旨在替换:
任何以前的微版本(在x.y.z中,z是"micro")因为它们保证是向后兼容的并且是二进制兼容的
a "snapshot"(源自内置)安装与任何微型版本
快照安装程序旨在替换任何具有较低微版本的快照 .
(见responsible code for 2.x,for 3.x)
任何其他版本不一定兼容,因此与现有版本一起安装 . 如果要卸载旧版本,则需要手动执行此操作 . 并卸载您拥有的任何第三方模块:
bdist_wininst
setuptools
pip
Lib\site-packages
%APPDATA%/Python/PythonXY/site-packages
我一直只是安装新版本,从来没有任何问题 . 请确保您的路径已更新为指向新版本 .
4 回答
UPDATE :2018-07-06
这篇文章现已近5岁! Python-2.7 will stop receiving official updates from python.org in 2020 . 另外,Python-3.7 has been released . 查看Python-Future,了解如何使Python-2代码与Python-3兼容 . 为了更新conda,文档现在建议在每个conda环境中使用
conda update --all
来更新该版本的所有包和Python可执行文件 . 此外,由于他们将名称更改为Anaconda,我不知道Windows注册表项是否仍然相同 .UPDATE :2017-03-24
自2015年6月以来,Python(x,y)一直没有更新,所以我认为假设它已被放弃是安全的 .
UPDATE :2016-11-11
如@cxw comments below,这些答案是针对相同的位版本,而位版本的意思是64位与32位 . 例如,这些答案适用于从64位Python-2.7.10更新到64位Python-2.7.11,即: same 位版本 . 虽然可以将两个不同位版本的Python一起安装,但它需要一些黑客攻击,所以我想要破解,我建议如果切换位版本,首先删除其他位版本 .
UPDATES :2016-05-16
通过禁用更改Windows
PATH
和注册表的选项,Anaconda和MiniConda可与现有Python安装一起使用 . 提取后,在
bin
中创建一个符号链接到conda
或从PyPI安装conda . 然后在Anaconda / Miniconda根bin文件夹中创建另一个名为conda-activate
的符号链接到activate
. 现在Anaconda / Miniconda就像Ruby RVM一样 . 只需使用conda-activate root
即可启用Anaconda / Miniconda .不再开发或维护便携式Python .
TL; DR
使用Anaconda or miniconda,然后执行
conda update --all
以保持每个conda环境的更新,same major version of official Python (例如2.7.5),只需安装旧版(例如2.7.4),
different major version of official Python (例如3.3),与旧的设置路径/关联并排安装以指向显性(例如2.7),快捷方式(例如在BASH
$ ln /c/Python33/python.exe python3
中) .答案取决于:
如果OP有2.7.x并想要安装更新版本的2.7.x,那么
如果在official Python website中使用MSI installer,只需安装旧版本,安装程序将发出警告,表示它将删除并替换旧版本;在确认旧版本已被新版本替换之前和之后"control panel"中查看"installed programs";较新版本的2.7.x是向后兼容的,因此这是完全安全的,因此恕我直言的2.7.x的多个版本永远不需要 .
如果从源代码构建,那么你应该构建一个新的,干净的目录,然后在通过所有测试后指向新构建的路径,并且你确信它已经成功构建,但你可能希望保留因为从源头构建可能偶尔会出现问题 . 看我的guide for building Python x64 on Windows 7 with SDK 7.0 .
如果从Python(x,y)等发行版安装,请参阅他们的网站 . Python(x,y) has been abandoned. 我相信可以使用包管理器在Python(x,y)中处理更新,但更新也包含在他们的网站上 . 我找不到具体的参考,所以也许其他人可以对此说话 . 与ActiveState和Enthought类似,Python(x,y)明确指出它与其他Python安装不兼容:
Enthought Canopy使用MSI,将分别为所有用户或每个用户安装到
Program Files\Enthought
或home\AppData\Local\Enthought\Canopy\App
. 使用内置更新工具更新较新的安装 . 看他们的documentation .ActiveState也使用MSI,因此可以在较旧的安装之上安装较新的安装 . 看他们的installation notes .
Sage建议您将其安装到虚拟机中,并提供可用于此目的的Oracle VirtualBox映像文件 . 通过发出
sage -upgrade
命令在内部处理升级 .Anaconda可以updated by using the conda command:
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安装程序 . [ UPDATE :2016-05-16] Anaconda和Miniconda现在使用
.exe
安装程序并提供禁用WindowsPATH
和注册表更改的选项 .因此,可以在不中断现有Python安装的情况下安装Anaconda / Miniconda,具体取决于安装方式和安装期间选择的选项 . 如果使用
.exe
安装程序并且未禁用更改WindowsPATH
和注册表的选项,则将禁用任何以前的Python安装,但只需卸载Anaconda / Miniconda安装即可恢复原始Python安装,但Windows RegistryPython\PythonCore
键除外 .Anaconda / Miniconda进行以下注册表编辑,无论安装选项如何:
HKCU\Software\Python\ContinuumAnalytics\
,并带有以下键:Help
,InstallPath
,Modules
和PythonPath
- 官方Python也注册这些键,但在Python\PythonCore
下 . 此外,还为Anaconda \ Miniconda注册了卸载信息 . 除非您在安装期间选择"Register with Windows"选项,否则它不会创建PythonCore
,因此像Visual Studio的Python工具之类的集合不会自动看到Anaconda / Miniconda . 如果启用了注册Anaconda / Miniconda的选项,那么我认为您现有的Python Windows注册表项将被更改,卸载可能无法恢复它们 .我认为
WinPython更新可以通过WinPython Control Panel来处理 .
PortablePython是 no longer being developed . 它没有更新方法 . 可能更新可以解压缩到一个新目录,然后可以将App \ lib \ site-packages和App \ Scripts复制到新安装,但如果这不起作用,则可能需要重新安装所有软件包 . 使用pip list查看已安装的软件包及其版本 . 一些是由PortablePython安装的 . 如果没有安装,请使用easy_install pip安装pip .
如果OP具有2.7.x并且想要安装不同的版本,例如<= 2.6.x或> = 3.x.x,然后并排安装不同版本就可以了 . 您必须选择与
*.py
文件关联的Python版本(如果有)以及您希望在路径中使用哪个版本,但如果您使用BASH,则应该能够设置具有不同路径的shell . AFAIK 2.7.x向后兼容2.6.x,因此恕我直言安装并不是必需的,但Python-3.xx不向后兼容,所以我的建议是将Python-2.7放在你的路径上并拥有Python-3是一个可选版本,通过创建一个名为python3的可执行文件的快捷方式(这是Linux上的常见设置) . Windows上的官方Python默认安装路径是C:\ Python33 for 3.3.x(最新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也是更新包的好工具 . 如果包使用二进制安装程序,我通常会在安装新包之前卸载旧包 .
我希望这可以解决任何困惑 .
最佳解决方案是在多个路径中安装不同的Python版本 .
例如 . C:\ Python27 for 2.7,C:\ Python33 for 3.3 .
阅读本文了解更多信息:How to run multiple Python versions on Windows
官方Python .msi安装程序旨在替换:
任何以前的微版本(在x.y.z中,z是"micro")因为它们保证是向后兼容的并且是二进制兼容的
a "snapshot"(源自内置)安装与任何微型版本
快照安装程序旨在替换任何具有较低微版本的快照 .
(见responsible code for 2.x,for 3.x)
任何其他版本不一定兼容,因此与现有版本一起安装 . 如果要卸载旧版本,则需要手动执行此操作 . 并卸载您拥有的任何第三方模块:
bdist_wininst
软件包中的任何模块(Windows.exe
s),请在卸载版本之前将其卸载,否则如果卸载程序具有自定义逻辑,则卸载程序可能无法正常运行与
setuptools
/pip
一起安装的Lib\site-packages
)之后可以删除每个用户安装的
%APPDATA%/Python/PythonXY/site-packages
中,同样可以删除我一直只是安装新版本,从来没有任何问题 . 请确保您的路径已更新为指向新版本 .