如何更新 Anaconda?

Posted

技术标签:

【中文标题】如何更新 Anaconda?【英文标题】:How do I update Anaconda? 【发布时间】:2017-12-25 03:37:51 【问题描述】:

我的计算机上安装了 Anaconda,我想对其进行更新。在 Navigator 中,我可以看到有几个单独的包可以更新,还有一个 anaconda 包,有时有版本号,有时会显示 custom。我该如何进行?

【问题讨论】:

大多数答案建议conda update [-n root] -v anaconda,但它提供降级我的python: 3.7.0-hc167b69_0 --> 3.6.6-hc167b69_0。看起来很破。 【参考方案1】:

root 是主环境的旧名称(conda 4.4 之前);在 conda 4.4 之后,它被重命名为 base。 source

95% 的人真正想要的是什么

在大多数情况下,当您说要更新 Anaconda 时,您要做的就是执行命令:

conda update --all

(但这应该在conda update -n base conda 之前,这样您就安装了最新的conda 版本)

这会将当前环境中的所有包更新到最新版本——小字是它可能会使用某些包的旧版本来满足依赖约束(通常这不是必需的,当它包计划求解器将尽最大努力将影响降至最低)。

这需要从命令行执行,最好的方法是从 Anaconda Navigator,然后是“环境”选项卡,然后单击 base 环境旁边的三角形,选择“打开终端”:

此操作只会更新一个选定的环境(在本例中为base 环境)。如果您有其他想要更新的环境,您可以重复上述过程,但首先单击环境。当它被选中时,右侧有一个三角形标记(见上图,第 3 步)。或者,您可以在命令行中提供环境名称 (-n envname) 或路径 (-p /path/to/env),例如从上面的屏幕截图中更新您的 dspyr 环境:

conda update -n dspyr --all

更新单个软件包

如果您只对更新单个软件包感兴趣,则只需单击导航器中的蓝色箭头或蓝色版本号,例如对于上面屏幕截图中的astroidastropy,这将标记这些软件包以进行升级。完成后,您需要单击“应用”按钮:

或者从命令行:

conda update astroid astropy

仅更新标准 Anaconda 发行版中的软件包

如果您不关心软件包版本,而只想“标准 Anaconda 发行版中所有软件包的最新集合,只要它们一起工作”,那么您应该take a look at this gist。

为什么更新 Anaconda 包几乎总是一个坏主意

在大多数情况下,更新软件包列表中的 Anaconda 软件包会产生令人惊讶的结果:您实际上可能降级许多软件包(实际上,如果它指示版本为custom,这很可能) .上面的要点提供了详细信息。

利用 conda 环境

您的base 环境可能不是一个尝试和管理一组精确软件包的好地方:它将成为一个动态工作空间,其中安装了新软件包并随机更新了软件包。如果您需要一组精确的包,请创建一个 conda 环境来保存它们。由于 conda 包缓存和使用文件链接的方式,这样做通常是 i) 快速且 ii) 消耗的额外磁盘空间非常少。例如

conda create -n myspecialenv -c bioconda -c conda-forge python=3.5 pandas beautifulsoup seaborn nltk

conda documentation 有更多详细信息和示例。

pip、PyPI 和 setuptools?

这些都无助于更新通过 pip 从 PyPI 安装的软件包或使用 python setup.py install 安装的任何软件包。 conda list 会给你一些关于你在环境中基于 pip 的 Python 包的提示,但它不会做任何特别的更新。

Anaconda 或 Anaconda Enterprise 的商业用途

情况几乎完全相同,只是如果base 环境是由其他人安装的(比如/opt/anaconda/latest),您可能无法更新它。如果您无法更新您正在使用的环境,您应该能够克隆然后更新:

conda create -n myenv --clone base
conda update -n myenv --all

【讨论】:

@MattSchmatt 确保你也这样做conda update conda。 Conda 在过去一年里有了很大的发展,特别是我们在 2017 年 9 月下旬发布了一个版本,引入了很多改进。如果conda update --all 破坏了一些东西(从历史上看,它几乎肯定会这样做),那么这是一个你应该向 conda GitHub 问题跟踪器报告的错误——今天,该操作不应该破坏任何现有组件(附带条件 conda 必须是最新的)。 我必须做 conda update -n root conda 而不是上面提到的才能让它工作。 conda update --all 不是 95% 的人想要的。它可能导致不稳定的环境。 user3056882 的回答更安全。 conda update --all 因“权限被拒绝”错误而失败。以管理员权限成功运行它。以管理员权限运行:开始 > Anaconda3 > Anaconda Prompt > 右键单击​​ > 更多 > 以管理员身份运行。 spyder 开发人员是saying the exact opposite of this:“一般来说,使用conda update --all 不是一个好主意”和here:“要使用conda 执行更新(强烈推荐),只需运行conda update anaconda 然后conda update spyder"【参考方案2】:

如果您尝试将 Anaconda 版本更新到新版本,您会注意到运行新的安装程序将无法正常工作,因为它会抱怨安装目录非空。

所以你应该使用 conda 进行升级,如official docs 所述:

conda update conda
conda update anaconda


在 Windows 中,如果您进行了“面向所有用户”安装,则可能需要从 Anaconda 提示符以管理员权限运行。

这样可以防止错误:

ERROR conda.core.link:_execute(502):卸载包“defaults::conda-4.5.4-py36_0”时出错。 PermissionError(13, '访问被拒绝')

【讨论】:

您提供的官方文档链接说您需要使用conda update conda 后跟conda install anaconda=VersionNumber 进行更新,而不是conda update anaconda。请参阅other answer of this same question。或者如果您省略VersionNumber,它是否会自动安装最新版本,并且是install = update 检查了这个。在用conda install anaconda=2021.05(测试时可用的最新元包版本)更新后,我再次用conda update anaconda 更新了这个答案。后者将安装 13 个新软件包并更新大约 100 个软件包。只有 anaconda 本身被“降级”,但之所以这样称呼,是因为它更改为自定义版本:The following packages will be DOWNGRADED: anaconda 2021.05-py38_0 --> custom-py38_1。因此,conda update anaconda 为您提供最新的包集合。 conda install anaconda 安装较少。【参考方案3】:

打开“命令或 conda 提示符”并运行:

conda update conda
conda update anaconda

最好运行这两个命令两次(一个接一个)以确保所有基本文件都已更新。

这应该让您回到最新的“版本”,其中包含由 Continuum 的人员选择的软件包,可以很好地协同工作。

如果您希望每个包的最后一个版本运行(这会导致环境不稳定):

conda update --all 

希望这会有所帮助。

来源:

https://docs.anaconda.com/anaconda/install/update-version https://github.com/conda/conda/issues/1414#issuecomment-119071154

【讨论】:

如果您更喜欢稳定的环境而不是拥有每个软件包的最新版本,请跳过第 4 步。conda update anaconda 应该让您回到“发行版”之一,其中包含由Continuum 的人们一起工作。 谢谢鲁道夫比克。我已经编辑了答案以反映您的评论。 如果你得到包未安装错误尝试conda install anaconda 我更新了 conda,然后我的所有软件包都停止工作了..我不知道为什么,但它认为您的解决方案不是一个好主意,因为 conda 使用这种升级方式不稳定.. ..这是rolling back的方法 您提供的官方文档链接说您需要使用conda update conda 后跟conda install anaconda=VersionNumber 进行更新,而不是conda update anaconda。请参阅other answer of this same question。或者如果您省略VersionNumber,它是否会自动安装最新版本,并且是install = update【参考方案4】:

如果您有困难,例如从 3.3.x 到 4.x(conda 更新 conda “不起作用”以进入下一个版本)而不是像这样尝试更具体:

conda install conda=4.0 (or conda install anaconda=4.0)

https://www.anaconda.com/blog/developer-blog/anaconda-4-release/

您应该知道自己在做什么,因为 conda 可能会因强制安装而中断。 如果您想获得更多的灵活性/安全性,您可以使用 pkg-manager,例如 nix(-pkgs) [with nix-shell] / NixOS。

【讨论】:

也许吧,但你不认为这完全被破坏了吗? 版本“连续性”是一个标准,例如在(网络)开发中。像往常一样,如果您想对everythink 进行调整和重新评估,您应该使用更新的版本重建所有内容。一般来说,带有更新 ../conda/../pinned 文件的“conda update --all”也应该可以正常工作(!注意额外的 pip 安装!)。 当我们必须手动告诉更新程序要更新到哪个特定版本时,它不再是更新程序,而是一个带有漂亮 GUI 的损坏安装程序。一般来说,conda update --all 打破了一切,正如他们自己的常见问题解答所说,在我的例子中,它很乐意将我的 python 从 3.7.0 降级到 3.6.6(尽管它知道 3.7.1 可用) 这是您对安装程序的看法,但它是 IT 中的标准(背后有一些原因)。同样,这尤其取决于您的固定文件,以及您是否也通过 PIP 安装了 pkgs!关于您的情况:如果您的 pkgs 不可用或与 python 3.7.x THAN 不兼容,它将获得 Python 版本,该版本可以最适合您环境中所有 pkg​​s 的限制。这就是有“conda”的原因。 您使用 conda 的原因是什么(如果不是您抱怨的完整性检查/降级)?【参考方案5】:

在 Mac 上,打开终端并运行以下两个命令。

conda update conda
conda update anaconda

确保多次运行每个命令以更新到当前版本。

【讨论】:

多次?这样做没有意义。 根据我的经验,如果你只是运行命令,一旦它没有更新到最新版本的 python 包。所以我建议运行多次。 这是同一页面上另一个答案的副本:***.com/a/46842054/109618【参考方案6】:

这是最佳做法(根据我的卑微经验)。选择这 四个 包还会将所有其他依赖项更新到适当的版本,从而帮助您保持环境的一致性。后者是其他人在之前的回复中表达的常见问题。此方案不需要终端。

【讨论】:

【参考方案7】:

用途:

conda create -n py37 -c anaconda anaconda=5.3.1
conda env export -n py37 --file env.yaml

找到C:\Windows\System32中的env.yaml文件并以管理员身份运行cmd:

conda env update -n root -f env.yaml

然后就可以了!

【讨论】:

【参考方案8】:

我使用的是 Windows 10。以下内容会更新所有内容并安装一些新软件包,包括 Python 更新(对我来说是 3.7.3)。

在 shell 中,尝试以下操作(确保更改 Anaconda 3 Data 的安装位置)。更新所有内容需要一些时间。

conda update --prefix X:\XXXXData\Anaconda3 anaconda

【讨论】:

【参考方案9】:

要将已安装的版本更新到最新版本,例如 2019.07,请运行:

conda install anaconda=2019.07

在大多数情况下,这种方法可以满足你的需求,避免依赖问题。

【讨论】:

【参考方案10】:

这只能更新 Python 实例:

conda update python

【讨论】:

【参考方案11】:

这是official Anaconda documentation 推荐的:

conda update conda
conda install anaconda=2021.11

您可以找到当前和过去的版本代码here。

该命令将更新到 Anaconda 元包的特定版本。

我觉得(与接受的答案中的说法相反)这更像是 95% 的 Anaconda 用户想要恕我直言:升级到最新版本的 Anaconda 元包(由 Anaconda 分销商组合和测试)并忽略单个包的更新状态,这将由conda update --all 发布。

【讨论】:

检查了这个。在用conda install anaconda=2021.05(测试时可用的最新元包版本)更新后,我再次用conda update anaconda 更新了另一个答案。后者将安装 13 个新软件包并更新大约 100 个软件包。只有 anaconda 本身被“降级”,但之所以这样称呼,是因为它更改为自定义版本:The following packages will be DOWNGRADED: anaconda 2021.05-py38_0 --> custom-py38_1。因此,conda update anaconda 为您提供最新的(自定义)集合。 这是唯一真正坚持Updating from older versions 官方指南的答案,如果您不想使用自定义版本,而是像=version 这样添加的版本。如果您需要查找最新版本,您也可以在available Anaconda versions 中搜索并在版本名称处将其剪切:Anaconda3-2021.05-Windows-x86_64.exe 变为2021.05。而看似旧的2021.05 仍然是 2021 年 9 月的最新 release 版本,因此可能有几个月的历史。【参考方案12】:

在基本模式下打开 Anaconda cmd:

然后使用conda update conda来更新Anaconda。

然后您可以使用 conda update --all 来更新 Anaconda 的所有要求:

conda update conda
conda update --all

【讨论】:

【参考方案13】:

简介

这个答案包含了许多答案和 cmets,它不添加新代码,所有学分都归于其他答案,尤其是 this answer that shows how to install the official release, fully in line with the docs。

在下文中,“文档”是指位于 Updating from older versions 的 Anaconda 官方文档。阅读文档很有意义,这是一个简短的概述。

由于它会经常使用,这里是definition of metapackage:

元包是一个非常简单的包,它至少有一个名称和一个 版本。它不需要任何依赖项或构建步骤。 元包可能会列出对几个核心、低级的依赖项 库,并且可能包含指向软件文件的链接 执行时自动下载。

第一步

作为安装 anaconda 之前的第一步,更新 conda:

conda update conda

第二步

第二步,您有三个选择:自定义或官方元数据包,或conda update --all

1。自定义元包

如果允许您拥有最新的 custom 元包(请注意,对于具有受限依赖关系的标准包,这可能并不总是最佳选择),那么您可以使用

conda install anaconda

文档:

Anaconda 元数据包有一个特殊的“自定义”版本, 具有所有包依赖项,但没有一个受到限制。 “自定义”版本的版本排序低于任何实际版本 发行号。

测试的起点是安装的版本2021.05。在此之后,conda update anacondaconda install anaconda 都导致 custom-py38_1 的新“降级自定义版本”,请参见代码块底部:anaconda 的版本更改 = 2021.05-py38_0 --> custom-py38_1。但是在这里使用update 会导致安装的包比install 多得多:

update 导致的安装步骤比install

(base) C:\WINDOWS\system32>conda update anaconda
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\toeft\anaconda3

  added / updated specs:
    - anaconda


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    _anaconda_depends-2020.07  |           py38_0           6 KB
    anaconda-custom            |           py38_1          36 KB
    anaconda-client-1.8.0      |   py38haa95532_0         170 KB
    anaconda-project-0.10.1    |     pyhd3eb1b0_0         218 KB
    astroid-2.6.6              |   py38haa95532_0         314 KB
    astropy-4.3.1              |   py38hc7d831d_0         6.1 MB
    attrs-21.2.0               |     pyhd3eb1b0_0          46 KB
    babel-2.9.1                |     pyhd3eb1b0_0         5.5 MB
    ...
    xlsxwriter-3.0.1           |     pyhd3eb1b0_0         111 KB
    xlwings-0.24.7             |   py38haa95532_0         887 KB
    zeromq-4.3.4               |       hd77b12b_0         4.2 MB
    zipp-3.5.0                 |     pyhd3eb1b0_0          13 KB
    zope.interface-5.4.0       |   py38h2bbff1b_0         305 KB
    zstd-1.4.9                 |       h19a0ad4_0         478 KB
    ------------------------------------------------------------
                                           Total:       218.2 MB

The following NEW packages will be INSTALLED:

  _anaconda_depends  pkgs/main/win-64::_anaconda_depends-2020.07-py38_0
  cfitsio            pkgs/main/win-64::cfitsio-3.470-he774522_6
  charset-normalizer pkgs/main/noarch::charset-normalizer-2.0.4-pyhd3eb1b0_0
  conda-pack         pkgs/main/noarch::conda-pack-0.6.0-pyhd3eb1b0_0
  debugpy            pkgs/main/win-64::debugpy-1.4.1-py38hd77b12b_0
  fonttools          pkgs/main/noarch::fonttools-4.25.0-pyhd3eb1b0_0
  gmpy2              pkgs/main/win-64::gmpy2-2.0.8-py38h7edee0f_3
  libllvm9           pkgs/main/win-64::libllvm9-9.0.1-h21ff451_0
  matplotlib-inline  pkgs/main/noarch::matplotlib-inline-0.1.2-pyhd3eb1b0_2
  mpc                pkgs/main/win-64::mpc-1.1.0-h7edee0f_1
  mpfr               pkgs/main/win-64::mpfr-4.0.2-h62dcd97_1
  mpir               pkgs/main/win-64::mpir-3.0.0-hec2e145_1
  munkres            pkgs/main/noarch::munkres-1.1.4-py_0

The following packages will be REMOVED:

  jupyter-packaging-0.7.12-pyhd3eb1b0_0

The following packages will be UPDATED:

  anaconda-client                              1.7.2-py38_0 --> 1.8.0-py38haa95532_0
  anaconda-project                       0.9.1-pyhd3eb1b0_1 --> 0.10.1-pyhd3eb1b0_0
  astroid                                2.5-py38haa95532_1 --> 2.6.6-py38haa95532_0
  astropy                              4.2.1-py38h2bbff1b_1 --> 4.3.1-py38hc7d831d_0
  attrs                                 20.3.0-pyhd3eb1b0_0 --> 21.2.0-pyhd3eb1b0_0
  babel                                  2.9.0-pyhd3eb1b0_0 --> 2.9.1-pyhd3eb1b0_0
  bitarray                             1.9.2-py38h2bbff1b_1 --> 2.3.0-py38h2bbff1b_1
  bleach                                 3.3.0-pyhd3eb1b0_0 --> 4.0.0-pyhd3eb1b0_0
  bokeh                                2.3.2-py38haa95532_0 --> 2.3.3-py38haa95532_0
  ca-certificates                      2021.4.13-haa95532_1 --> 2021.7.5-haa95532_1
  certifi                          2020.12.5-py38haa95532_0 --> 2021.5.30-py38haa95532_0
  cffi                                1.14.5-py38hcd4344a_0 --> 1.14.6-py38h2bbff1b_0
  click                                  7.1.2-pyhd3eb1b0_0 --> 8.0.1-pyhd3eb1b0_0
  comtypes                          1.1.9-py38haa95532_1002 --> 1.1.10-py38haa95532_1002
  curl                                    7.71.1-h2a8f88b_1 --> 7.78.0-h86230a5_0
  cython                             0.29.23-py38hd77b12b_0 --> 0.29.24-py38hd77b12b_0
  dask                                2021.4.0-pyhd3eb1b0_0 --> 2021.8.1-pyhd3eb1b0_0
  dask-core                           2021.4.0-pyhd3eb1b0_0 --> 2021.8.1-pyhd3eb1b0_0
  decorator                              5.0.6-pyhd3eb1b0_0 --> 5.0.9-pyhd3eb1b0_0
  distributed                       2021.4.0-py38haa95532_0 --> 2021.8.1-py38haa95532_0
  docutils                              0.17-py38haa95532_1 --> 0.17.1-py38haa95532_1
  et_xmlfile         pkgs/main/noarch::et_xmlfile-1.0.1-py~ --> pkgs/main/win-64::et_xmlfile-1.1.0-py38haa95532_0
  fsspec                                 0.9.0-pyhd3eb1b0_0 --> 2021.7.0-pyhd3eb1b0_0
  gevent                              21.1.2-py38h2bbff1b_1 --> 21.8.0-py38h2bbff1b_1
  greenlet                             1.0.0-py38hd77b12b_2 --> 1.1.1-py38hd77b12b_0
  idna                                    2.10-pyhd3eb1b0_0 --> 3.2-pyhd3eb1b0_0
  imagecodecs                      2021.3.31-py38h5da4933_0 --> 2021.6.8-py38h5da4933_0
  intel-openmp                        2021.2.0-haa95532_616 --> 2021.3.0-haa95532_3372
  ipykernel                            5.3.4-py38h5ca1d4c_0 --> 6.2.0-py38haa95532_1
  ipython                             7.22.0-py38hd4e2768_0 --> 7.26.0-py38hd4e2768_0
  isort                                  5.8.0-pyhd3eb1b0_0 --> 5.9.3-pyhd3eb1b0_0
  itsdangerous                           1.1.0-pyhd3eb1b0_0 --> 2.0.1-pyhd3eb1b0_0
  jinja2                                2.11.3-pyhd3eb1b0_0 --> 3.0.1-pyhd3eb1b0_0
  json5                                          0.9.5-py_0 --> 0.9.6-pyhd3eb1b0_0
  jupyterlab                            3.0.14-pyhd3eb1b0_1 --> 3.1.7-pyhd3eb1b0_0
  jupyterlab_server                      2.4.0-pyhd3eb1b0_0 --> 2.7.1-pyhd3eb1b0_0
  keyring                             22.3.0-py38haa95532_0 --> 23.0.1-py38haa95532_0
  krb5                                    1.18.2-hc04afaa_0 --> 1.19.2-h5b6d351_0
  libcurl                                 7.71.1-h2a8f88b_1 --> 7.78.0-h86230a5_0
  libxml2                                 2.9.10-hb89e7f3_3 --> 2.9.12-h0ad7f3c_0
  lz4-c                                    1.9.3-h2bbff1b_0 --> 1.9.3-h2bbff1b_1
  markupsafe                           1.1.1-py38he774522_0 --> 2.0.1-py38h2bbff1b_0
  matplotlib                           3.3.4-py38haa95532_0 --> 3.4.2-py38haa95532_0
  matplotlib-base                      3.3.4-py38h49ac443_0 --> 3.4.2-py38h49ac443_0
  mkl                                 2021.2.0-haa95532_296 --> 2021.3.0-haa95532_524
  mkl-service                          2.3.0-py38h2bbff1b_1 --> 2.4.0-py38h2bbff1b_0
  mkl_random                           1.2.1-py38hf11a4ad_2 --> 1.2.2-py38hf11a4ad_0
  more-itertools                         8.7.0-pyhd3eb1b0_0 --> 8.8.0-pyhd3eb1b0_0
  nbconvert                                    6.0.7-py38_0 --> 6.1.0-py38haa95532_0
  networkx                                         2.5-py_0 --> 2.6.2-pyhd3eb1b0_0
  nltk                                   3.6.1-pyhd3eb1b0_0 --> 3.6.2-pyhd3eb1b0_0
  notebook                             6.3.0-py38haa95532_0 --> 6.4.3-py38haa95532_0
  numpy                               1.20.1-py38h34a8a5c_0 --> 1.20.3-py38ha4e8547_0
  numpy-base                          1.20.1-py38haf7ebc8_0 --> 1.20.3-py38hc2deb75_0
  openjpeg                                 2.3.0-h5ec785f_1 --> 2.4.0-h4fc8c34_0
  openssl                                 1.1.1k-h2bbff1b_0 --> 1.1.1l-h2bbff1b_0
  packaging                               20.9-pyhd3eb1b0_0 --> 21.0-pyhd3eb1b0_0
  pandas                               1.2.4-py38hd77b12b_0 --> 1.3.2-py38h6214cd6_0
  path                                15.1.2-py38haa95532_0 --> 16.0.0-py38haa95532_0
  pathlib2                             2.3.5-py38haa95532_2 --> 2.3.6-py38haa95532_2
  pillow                               8.2.0-py38h4fa10fc_0 --> 8.3.1-py38h4fa10fc_0
  pkginfo                              1.7.0-py38haa95532_0 --> 1.7.1-py38haa95532_0
  prometheus_client                     0.10.1-pyhd3eb1b0_0 --> 0.11.0-pyhd3eb1b0_0
  pydocstyle                             6.0.0-pyhd3eb1b0_0 --> 6.1.1-pyhd3eb1b0_0
  pyerfa                               1.7.3-py38h2bbff1b_0 --> 2.0.0-py38h2bbff1b_0
  pygments                               2.8.1-pyhd3eb1b0_0 --> 2.10.0-pyhd3eb1b0_0
  pylint                               2.7.4-py38haa95532_1 --> 2.9.6-py38haa95532_1
  pyodbc                              4.0.30-py38ha925a31_0 --> 4.0.31-py38hd77b12b_0
  pytest                               6.2.3-py38haa95532_2 --> 6.2.4-py38haa95532_2
  python-dateutil                        2.8.1-pyhd3eb1b0_0 --> 2.8.2-pyhd3eb1b0_0
  pywin32                                227-py38he774522_1 --> 228-py38hbaba5e8_1
  pyzmq                               20.0.0-py38hd77b12b_1 --> 22.2.1-py38hd77b12b_1
  qtconsole                              5.0.3-pyhd3eb1b0_0 --> 5.1.0-pyhd3eb1b0_0
  qtpy                                           1.9.0-py_0 --> 1.10.0-pyhd3eb1b0_0
  regex                             2021.4.4-py38h2bbff1b_0 --> 2021.8.3-py38h2bbff1b_0
  requests                              2.25.1-pyhd3eb1b0_0 --> 2.26.0-pyhd3eb1b0_0
  rope                                          0.18.0-py_0 --> 0.19.0-pyhd3eb1b0_0
  scikit-learn                        0.24.1-py38hf11a4ad_0 --> 0.24.2-py38hf11a4ad_1
  seaborn                               0.11.1-pyhd3eb1b0_0 --> 0.11.2-pyhd3eb1b0_0
  singledispatch                      3.6.1-pyhd3eb1b0_1001 --> 3.7.0-pyhd3eb1b0_1001
  six                pkgs/main/win-64::six-1.15.0-py38haa9~ --> pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_0
  sortedcontainers                       2.3.0-pyhd3eb1b0_0 --> 2.4.0-pyhd3eb1b0_0
  sphinx                                 4.0.1-pyhd3eb1b0_0 --> 4.0.2-pyhd3eb1b0_0
  sphinxcontrib-htm~                     1.0.3-pyhd3eb1b0_0 --> 2.0.0-pyhd3eb1b0_0
  sphinxcontrib-ser~                     1.1.4-pyhd3eb1b0_0 --> 1.1.5-pyhd3eb1b0_0
  sqlalchemy                           1.4.7-py38h2bbff1b_0 --> 1.4.22-py38h2bbff1b_0
  sqlite                                  3.35.4-h2bbff1b_0 --> 3.36.0-h2bbff1b_0
  testpath                               0.4.4-pyhd3eb1b0_0 --> 0.5.0-pyhd3eb1b0_0
  threadpoolctl                          2.1.0-pyh5ca1d4c_0 --> 2.2.0-pyhbf3da8f_0
  tifffile                            2021.4.8-pyhd3eb1b0_2 --> 2021.7.2-pyhd3eb1b0_2
  tqdm                                  4.59.0-pyhd3eb1b0_1 --> 4.62.1-pyhd3eb1b0_1
  typed-ast                            1.4.2-py38h2bbff1b_1 --> 1.4.3-py38h2bbff1b_1
  typing_extensions                    3.7.4.3-pyha847dfd_0 --> 3.10.0.0-pyh06a4308_0
  urllib3                               1.26.4-pyhd3eb1b0_0 --> 1.26.6-pyhd3eb1b0_1
  wheel                                 0.36.2-pyhd3eb1b0_0 --> 0.37.0-pyhd3eb1b0_0
  xlsxwriter                             1.3.8-pyhd3eb1b0_0 --> 3.0.1-pyhd3eb1b0_0
  xlwings                             0.23.0-py38haa95532_0 --> 0.24.7-py38haa95532_0
  zeromq                                   4.3.3-ha925a31_3 --> 4.3.4-hd77b12b_0
  zipp                                   3.4.1-pyhd3eb1b0_0 --> 3.5.0-pyhd3eb1b0_0
  zope.interface                       5.3.0-py38h2bbff1b_0 --> 5.4.0-py38h2bbff1b_0
  zstd                                     1.4.5-h04227a9_0 --> 1.4.9-h19a0ad4_0

The following packages will be DOWNGRADED:

  anaconda                                   2021.05-py38_0 --> custom-py38_1

install 导致的安装步骤比update 少:

(base) C:\WINDOWS\system32>conda install anaconda
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\toeft\anaconda3

  added / updated specs:
    - anaconda


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    _anaconda_depends-2020.07  |           py38_0           6 KB
    anaconda-custom            |           py38_1          36 KB
    ca-certificates-2021.7.5   |       haa95532_1         113 KB
    certifi-2021.5.30          |   py38haa95532_0         140 KB
    gmpy2-2.0.8                |   py38h7edee0f_3         145 KB
    libllvm9-9.0.1             |       h21ff451_0          61 KB
    mpc-1.1.0                  |       h7edee0f_1         260 KB
    mpfr-4.0.2                 |       h62dcd97_1         1.5 MB
    mpir-3.0.0                 |       hec2e145_1         1.3 MB
    openssl-1.1.1l             |       h2bbff1b_0         4.8 MB
    ------------------------------------------------------------
                                           Total:         8.4 MB

The following NEW packages will be INSTALLED:

  _anaconda_depends  pkgs/main/win-64::_anaconda_depends-2020.07-py38_0
  gmpy2              pkgs/main/win-64::gmpy2-2.0.8-py38h7edee0f_3
  libllvm9           pkgs/main/win-64::libllvm9-9.0.1-h21ff451_0
  mpc                pkgs/main/win-64::mpc-1.1.0-h7edee0f_1
  mpfr               pkgs/main/win-64::mpfr-4.0.2-h62dcd97_1
  mpir               pkgs/main/win-64::mpir-3.0.0-hec2e145_1

The following packages will be UPDATED:

  ca-certificates                      2021.4.13-haa95532_1 --> 2021.7.5-haa95532_1
  certifi                          2020.12.5-py38haa95532_0 --> 2021.5.30-py38haa95532_0
  openssl                                 1.1.1k-h2bbff1b_0 --> 1.1.1l-h2bbff1b_0

The following packages will be DOWNGRADED:

  anaconda                                   2021.05-py38_0 --> custom-py38_1

2。官方元包(= 发布)

在以下代码 sn-ps 中,updateinstall 导致相同的结果。我在文档中使用install

如果您不想安装自定义版本的元包,而是需要最新的官方版本,请安装

conda install anaconda=VersionNumber

查找版本号

在撰写本文时,2021 年 9 月,最新可用版本(Anaconda 个人版)是

conda install anaconda=2021.05

但是如何获得这个VersionNumber

看看 Anaconda Release notes of the individual edition。如果您需要旧版本,则需要向下滚动该页面,例如找到2020.11。最新的总是在页面的顶部。如果您使用的是商业版,则需要查看其他发行说明。

因此,2021.05 版本代码之类的内容是您需要找到的最新发布快捷方式。您还可以在文档中直接链接的available Anaconda versions 列表中找到操作系统的完整版本名称,例如Anaconda3-2021.05-Windows-x86_64.exe。它是按名称和日期排序的,因此,您需要像“YYYY-MM”/“YYYY-”这样搜索年份或滚动整个列表以查找最新版本:

以 Windows 10 64 位为例,命令也可以是:

conda update anaconda=Anaconda3-2021.05-Windows-x86_64.exe

如果您在安装了最新的自定义元包后安装了一个版本,您会看到一些包被删除并且相当多的包被轻微降级。这是因为该版本的时间稍早一些,但也完全值得信赖。

文档:

conda update anaconda=VersionNumber抓取具体发布 Anaconda 元数据包,例如conda update anaconda=2019.10。那 元包代表一个经过测试的固定状态 收藏。

3。不要使用conda update --all

至于文档(下面引用的最后一句),安装2019.07自定义(=最新)元包也可以通过运行来完成

 conda update --all

如果你有虚拟环境,你需要:

conda update -n myenv --all

YET:这可能是2019.07 的一个例外。它似乎不适用于更高的元包版本。我在逐行比较中检查了conda update --allconda update anaconda 的差异(见下文,引用后)。虽然一开始他们看起来像双胞胎,但有足够的小差异说你不应该动手conda update --all,因为文档中甚至提到了可能的冲突约束。

文档:

conda update --all 将取消固定所有内容。这会更新所有包 当前环境到最新版本。这样做,它下降 历史上的所有版本限制,并试图使 一切都尽可能新。

这与删除包具有相同的行为。如果有任何包裹 由于更新而孤立,它们将被删除。 conda update --all 可能不是 能够使所有内容成为最新版本,因为您可能拥有 环境中存在冲突的约束。

使用 Anaconda 2019.07 更新的 Anaconda 元包,conda update --all 将使元包转到自定义版本以进行更新 其他规格。

整个输出,在一行到一行的基础上相互对比,揭示了以下剩余的行差异。这证明conda update --all 不仅仅是自定义元包:

conda update --allconda update anaconda 中找不到输出行

(base) C:\WINDOWS\system32>conda update --all

The following packages will be downloaded:

    anaconda-navigator-2.0.4   |           py38_0         5.2 MB
    conda-build-3.21.4         |   py38haa95532_0         552 KB
    conda-content-trust-0.1.1  |     pyhd3eb1b0_0          56 KB
    conda-repo-cli-1.0.4       |     pyhd3eb1b0_0          47 KB
    conda-token-0.3.0          |     pyhd3eb1b0_0          10 KB
    menuinst-1.4.17            |   py38h59b6b97_0          96 KB
    python-3.8.11              |       h6244533_1        16.0 MB
                                           Total:       224.8 MB


The following NEW packages will be INSTALLED:

  conda-content-tru~ pkgs/main/noarch::conda-content-trust-0.1.1-pyhd3eb1b0_0
  conda-repo-cli     pkgs/main/noarch::conda-repo-cli-1.0.4-pyhd3eb1b0_0
  conda-token        pkgs/main/noarch::conda-token-0.3.0-pyhd3eb1b0_0


The following packages will be UPDATED:

  anaconda-navigator                          1.10.0-py38_0 --> 2.0.4-py38_0
  conda-build                                 3.20.5-py38_1 --> 3.21.4-py38haa95532_0
  et_xmlfile         pkgs/main/noarch::et_xmlfile-1.0.1-py~ --> pkgs/main/win-64::et_xmlfile-1.1.0-py38haa95532_0
  menuinst                            1.4.16-py38he774522_1 --> 1.4.17-py38h59b6b97_0
  python                                   3.8.8-hdbf39b2_5 --> 3.8.11-h6244533_1
  six                pkgs/main/win-64::six-1.15.0-py38haa9~ --> pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_0
  sphinxcontrib-htm~                     1.0.3-pyhd3eb1b0_0 --> 2.0.0-pyhd3eb1b0_0
  sphinxcontrib-ser~                     1.1.4-pyhd3eb1b0_0 --> 1.1.5-pyhd3eb1b0_0

conda update anacondaconda update --all 中找不到输出行

(base) C:\WINDOWS\system32>conda update anaconda

  added / updated specs:
    - anaconda

The following packages will be downloaded:

    cfitsio-3.470              |       he774522_6         512 KB
    imagecodecs-2021.6.8       |   py38h5da4933_0         6.1 MB
    jinja2-3.0.1               |     pyhd3eb1b0_0         110 KB
    tifffile-2021.7.2          |     pyhd3eb1b0_2         135 KB
    typed-ast-1.4.3            |   py38h2bbff1b_1         135 KB
                                           Total:       209.8 MB

The following NEW packages will be INSTALLED:

  cfitsio            pkgs/main/win-64::cfitsio-3.470-he774522_6


The following packages will be UPDATED:

  et_xmlfile         pkgs/main/noarch::et_xmlfile-1.0.1-py~ --> pkgs/main/win-64::et_xmlfile-1.1.0-py38haa95532_0
  imagecodecs                      2021.3.31-py38h5da4933_0 --> 2021.6.8-py38h5da4933_0
  jinja2                                2.11.3-pyhd3eb1b0_0 --> 3.0.1-pyhd3eb1b0_0
  six                pkgs/main/win-64::six-1.15.0-py38haa9~ --> pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_0
  sphinxcontrib-htm~                     1.0.3-pyhd3eb1b0_0 --> 2.0.0-pyhd3eb1b0_0
  sphinxcontrib-ser~                     1.1.4-pyhd3eb1b0_0 --> 1.1.5-pyhd3eb1b0_0
  tifffile                            2021.4.8-pyhd3eb1b0_2 --> 2021.7.2-pyhd3eb1b0_2
  typed-ast                            1.4.2-py38h2bbff1b_1 --> 1.4.3-py38h2bbff1b_1

因此,不推荐conda update --all,如果您需要尽可能高的更新,最好坚持使用自定义元包,或者如果您可以延迟几个月并且没有任何包的集合,请使用官方元包冲突是最重要的(例如,如果您在生产环境中)。

结果:安装哪个:官方元包还是自定义元包?

一些answers or comments 说自定义元包安装可能需要运行两次才能达到正确的状态。我无法确认这一点(使用conda install anacondaconda update anaconda 进行了测试,但我也在全新的Python 安装中)。这仍然暗示安装最新的官方元包(= 发布,conda install anaconda=VersionNumber = conda update anaconda=VersionNumber)可能会更稳定,这可能会延迟几个月。

另一方面,如果您想要最新的可用版本,自定义元包(最新的受信任包集合)可能会很好。然后运行conda install anaconda 或者更强大的命令conda update anaconda

这也是更新Spyder的方式:

他们甚至在conda update anaconda之前都不使用conda update conda,后者似乎就足够了。

小“证明”:我一开始用conda update conda,后来conda update anaconda 无事可做,conda update conda 完成了所有或所有任务。

conda update anaconda 
Collecting package metadata (current_repodata.json): done Solving environment: done

# All requested packages already installed.

这听起来好像两个命令现在都是一样的,也许它们只是在过去不一样。

选择权取决于您,这取决于您需要更新某些软件包的紧迫程度。只需启动安装程序看看会发生什么,您仍然可以输入n 取消安装。我去拿

conda update anaconda

没有conda update conda

并且不要使用conda update --all,除非您需要某个软件包的最新更新,例如作为安装另一个软件包的要求。我在测试--all 时遇到了这个问题,只是在那之后,才建议下载一个新的 tensorflow 插件,但不是在其他命令之后。通常情况下,您不需要及时了解这一点,因此不要使用--all

【讨论】:

【参考方案14】:

然而,另一个答案:

conda update -n base conda -c anaconda

-c 是您的首选频道,或者直接省略。

copied from here

【讨论】:

以上是关于如何更新 Anaconda?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 anaconda 上更新 spyder

如何使用Anaconda更新Python版本

如何从 Anaconda 更新 Pandas,最后是不是可以使用 eclipse

Anaconda安装更新库

如何在Anaconda中把python环境更新更高版本

如何从 Anaconda 中删除 URL 通道?