ChatGPT解决这个技术问题 Extra ChatGPT

如何更新 Anaconda?

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

https://i.stack.imgur.com/YZraz.png

大多数答案都建议使用 conda update [-n root] -v anaconda,但它提供的是 DOWNGRADE 我的 python: 3.7.0-hc167b69_0 --> 3.6.6-hc167b69_0。看起来很破。

V
VimNing

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

95%的人真正想要什么

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

conda update --all

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

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

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

https://i.stack.imgur.com/6JjBC.png

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

conda update -n dspyr --all

更新单个包

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

https://i.stack.imgur.com/wB5bx.png

或者从命令行:

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 因“权限被拒绝”错误而失败。以管理员权限成功运行它。以管理员权限运行:开始 >蟒蛇3>蟒蛇提示 >右键>更多 >以管理员身份运行。
spyder 开发人员是 saying the exact opposite of this:“一般来说,使用 conda update --all 不是一个好主意”和 here:“要使用 conda 执行更新(强烈推荐),只需运行 conda update anaconda,然后运行 conda update spyder "
R
RafaelJan

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

因此,您应该使用 conda 进行升级,如 official docs 所述:

conda update conda
conda update anaconda

https://i.stack.imgur.com/d6RVb.png

这可以防止错误:

错误 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 安装较少。
g
gagarine

打开“命令或 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 使用这种升级方式不稳定....这是一种{ 1}
您提供的官方文档链接表明您需要使用 conda update conda 后跟 conda install anaconda=VersionNumber 进行更新,而不是使用 conda update anaconda。请参阅 other answer of this same question。或者如果您省略 VersionNumber 并且是 install = update,它会自动安装最新版本吗?
M
MattSchmatt

这是 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 为您提供最新的(自定义)集合。
如果您不想使用自定义版本,而是像 =version 这样添加的版本,那么这是唯一真正坚持 Updating from older versions 官方指南的答案。如果您需要查找最新版本,您也可以在 available Anaconda versions 中搜索并在版本名称处将其剪切:Anaconda3-2021.05-Windows-x86_64.exe 变为 2021.05。而且看似旧的 2021.05 仍然是 09/2021 的最新 release 版本,因此可能有几个月的历史。
P
Peter Mortensen

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

https://i.stack.imgur.com/K2TXu.png


P
Peter Mortensen

在基本模式下打开 Anaconda cmd:

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

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

conda update conda
conda update --all

I
InLaw

如果您无法从 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 版本,可以最佳地适应您环境中所有 pkgs 的限制。这就是有“conda”的原因。
您使用 conda 的原因是什么(如果不是您抱怨的完整性检查/降级)?
j
jialin

然而,另一个答案:

conda update -n base conda -c anaconda

其中 -c 您的首选频道或直接省略。

copied from here


P
Peter Mortensen

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

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

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

P
Peter Mortensen

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

conda install anaconda=2019.07

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


q
questionto42standswithUkraine

介绍

这个答案包含了许多答案和评论,它没有添加新代码,所有学分都归于其他答案,尤其是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.自定义元包

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

conda install anaconda

文件:

Anaconda 元包有一个特殊的“自定义”版本,它具有所有包依赖项,但它们都不受限制。 “自定义”版本的版本排序低于任何实际版本号。

测试的起点是已安装的版本 2021.05。此后,conda update anacondaconda install anaconda 都导致 custom-py38_1 的新“降级自定义版本”,请参见代码块底部:anaconda 的版本更改 = 2021.05-py38_0 --> custom-py38_1。但是在这里使用 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 导致安装步骤少于更新:

(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.官方元包(=发布)

在以下代码片段中,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-”或滚动整个列表以查找最新版本:

https://i.stack.imgur.com/Kfi9u.png

对于 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.07custom(= 最近的)元包也可以通过运行来完成

 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 --在 conda 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 --all 中找不到 conda update anaconda 输出行

(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 的方式:

https://i.stack.imgur.com/ikcqi.png

他们甚至没有在 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


P
Peter Mortensen

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

conda update conda
conda update anaconda

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


多次?这样做没有意义。
根据我的经验,如果您只是在命令未更新到最新版本的 python 包时运行命令。所以我建议多次运行它。
这是同一页面上另一个答案的重复:stackoverflow.com/a/46842054/109618
P
Peter Mortensen

利用:

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

然后它起作用了!


P
Peter Mortensen

这只能更新 Python 实例:

conda update python