我的电脑上已经安装了蟒蛇,我想更新一下。在Navigator中,我可以看到有几个单独的包可以更新,但也有一个anaconda包,有时有版本号,有时说自定义。我该怎么做?


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

95%的人真正想要的

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

conda update --all

(但是在此之前应该加上conda update -n base conda或conda update conda,这样你就安装了最新的conda版本)

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

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

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

conda update -n dspyr --all

更新单个包

如果你只对更新单个包感兴趣,那么只需单击Navigator中的蓝色箭头或蓝色版本号,例如上图截图中的星状线或星状线,这将标记这些包进行升级。当你完成后,你需要点击“应用”按钮:

或者从命令行:

conda update astroid astropy

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

如果您不关心包的版本,只想要“标准Anaconda发行版中所有包的最新集,只要它们一起工作”,那么您应该看看这个要点。

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

在大多数情况下,更新包列表中的Anaconda包会有一个令人惊讶的结果:您实际上可能会降级许多包(事实上,如果它指示版本为自定义,则很可能会降级)。上面的要点提供了细节。

利用conda环境

您的基本环境可能不适合尝试和管理确切的包集:它将是一个动态的工作空间,其中安装了新包,并随机更新包。如果您需要一组确切的包,那么创建一个conda环境来保存它们。多亏了conda包缓存和使用文件链接的方式,做到这一点通常是i)快速和ii)消耗很少的额外磁盘空间。如。

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

conda文档有更多细节和示例。

pip, PyPI和setuptools?

这些都不会帮助更新已经通过pip从PyPI安装的包或任何使用python setup.py install安装的包。conda list会给你一些关于环境中基于pip的Python包的提示,但它不会做任何特殊的事情来更新它们。

水蟒或水蟒企业的商业用途

这几乎是完全相同的故事,除了你可能无法更新基础环境,如果它是由其他人安装的(比如/opt/anaconda/latest)。如果你不能更新你正在使用的环境,你应该能够克隆,然后更新:

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

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

所以你应该按照官方文档的详细说明使用conda来升级:

conda update conda
conda update anaconda

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

这可以防止错误:

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

打开“命令或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

如果你有困难,例如从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崩溃。 如果你想获得更多的灵活性/安全性,你可以使用像nix(-pkgs) [with nix-shell] / NixOS这样的pkg-manager。

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

conda update conda
conda update anaconda

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

以下是最佳实践(根据我的个人经验)。选择这四个包还会将所有其他依赖项更新到适当的版本,这将帮助您保持环境的一致性。后者是其他人在早先的答复中表示的一个普遍问题。这个解决方案不需要终端。

Use:

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

定位环境。在C:\Windows\System32目录下运行yaml文件,以管理员身份运行cmd:

conda env update -n root -f env.yaml

那么它就有用了!

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

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

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

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

conda install anaconda=2019.07

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

这是Anaconda官方文档的建议:

conda update conda
conda install anaconda=2021.11

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

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

我觉得(与公认的答案相反),这是95%的Anaconda用户想要的:升级到Anaconda元包的最新版本(由Anaconda分销商组装和测试),忽略单个包的更新状态,这将由conda update发布——所有。

在基本模式下打开Anaconda cmd:

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

然后你可以使用conda update——all来更新Anaconda的所有需求:

conda update conda
conda update --all

介绍

这个答案包含了许多答案和评论,它没有添加新的代码,所有的功劳都归于其他的答案,尤其是这个回答,它展示了如何安装官方版本,完全符合文档。

在下面,“文档”是指从旧版本更新的官方Anaconda文档。阅读文档是有意义的,它是一个简短的概述。

由于它将被经常使用,下面是元包的定义:

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

第一步

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

conda update conda

第二步

第二步,您有三个选择:自定义或官方元包,或conda更新——全部。

1. 自定义metapackage

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

conda install anaconda

文档:

Anaconda元包有一个特殊的“自定义”版本 具有所有包依赖项,但它们都不受约束。 “自定义”版本在版本排序上比任何实际版本都要低 版本号码。

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

更新导致的安装步骤比安装多

(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

安装比更新更少的安装步骤:

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

在下面的代码片段中,更新和安装会导致相同的结果。我在文档中使用安装。

如果您不想安装元包的自定义版本,而需要最新的正式发行版,请使用

conda install anaconda=VersionNumber

找到VersionNumber

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

conda install anaconda=2021.05

但是如何获得这个VersionNumber呢?

看看Anaconda发行说明的个人版。如果需要更老的版本,则需要向下滚动该页面,例如找到2020.11。最近的信息总是在页面上方。如果使用商业版本,则需要检查其他发行说明。

因此,像2021.05版本代码这样的东西是您需要找到的最新版本快捷方式。你也可以在文档中直接链接的Anaconda版本列表中找到你操作系统的完整版本名,例如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更新—全部

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

 conda update --all

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

conda update -n myenv --all

然而:这可能是2019.07年的一个例外。它似乎并不适用于更高的元包版本。我检查了conda update的差异——所有的差异都与conda update anaconda在行之间的比较(见下面,在引用之后)。虽然它们一开始看起来像双胞胎,但有足够小的差异让你应该远离conda更新——所有这些都是由于文档中甚至提到了可能冲突的约束。

文档:

conda update --all will unpin everything. This updates all packages in the current environment to the latest version. In doing so, it drops all the version constraints from the history and tries to make everything as new as it can. This has the same behavior with removing packages. If any packages are orphaned by an update, they are removed. conda update --all may not be able to make everything the latest versions because you may have conflicting constraints in your environment. With Anaconda 2019.07’s newer Anaconda metapackage, conda update --all will make the metapackage go to the custom version in order to update other specs.

整个输出以行为基础进行对比,显示了以下剩余的行差异。这证明了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更新在Conda更新中没有找到的输出行

(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,如果您需要尽可能高的更新,最好坚持使用自定义元包,或者如果您可以接受几个月的延迟,并且最重要的是没有任何冲突的包集合(例如,如果您在生产环境中),则使用官方元包。

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

一些回答或评论说,自定义元包安装可能需要运行两次才能达到适当的状态。我不能确认这一点(用conda安装anaconda和conda更新anaconda测试,但我也在一个新的Python安装中)。这仍然是一个提示,安装最新的官方元包(= release, conda install anaconda=VersionNumber = conda update anaconda=VersionNumber)可能会更稳定,可能会有几个月的延迟。

另一方面,如果您希望使用最新的版本,则自定义元包(最新的可信包集合)可能很好。然后运行conda install anaconda或更强的命令conda update anaconda。

这也是更新Spyder的方法:

在conda更新anaconda之前,他们甚至没有使用conda更新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更新conda。

不要使用conda update—all,除非您需要某个包的最新更新,例如,作为安装另一个包的要求。我在测试时遇到了这个问题——在测试之后,建议下载一个新的tensorflow附加组件,但没有在其他命令之后。通常情况下,你不需要在这一点上是最新的,因此不要使用——all。

然而,另一个答案是:

conda update -n base conda -c anaconda

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

从这里复制

我还尝试使用conda install -n base anaconda=2022.10更新anaconda,但这导致冲突,表明我的python版本太低(3.6)。

我最终设法更新使用以下命令:

conda install -n base anaconda=2022.10 python=3.8

最新的anaconda版本代码可以在发布说明中找到。

(在此期间,我还使用conda install—rev 0重置了我的基本环境,但不确定这是必要的。在任何情况下,当尝试这样做时,要意识到可能的后果!)