如何更新 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
更新单个软件包
如果您只对更新单个软件包感兴趣,则只需单击导航器中的蓝色箭头或蓝色版本号,例如对于上面屏幕截图中的astroid
或astropy
,这将标记这些软件包以进行升级。完成后,您需要单击“应用”按钮:
或者从命令行:
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 版本,该版本可以最适合您环境中所有 pkgs 的限制。这就是有“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 anaconda
和 conda 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 中,update
和 install
导致相同的结果。我在文档中使用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 --all
与conda update anaconda
的差异(见下文,引用后)。虽然一开始他们看起来像双胞胎,但有足够的小差异说你不应该动手conda update --all
,因为文档中甚至提到了可能的冲突约束。
文档:
conda update --all
将取消固定所有内容。这会更新所有包 当前环境到最新版本。这样做,它下降 历史上的所有版本限制,并试图使 一切都尽可能新。这与删除包具有相同的行为。如果有任何包裹 由于更新而孤立,它们将被删除。 conda update --all 可能不是 能够使所有内容成为最新版本,因为您可能拥有 环境中存在冲突的约束。
使用 Anaconda 2019.07 更新的 Anaconda 元包,conda update --all 将使元包转到自定义版本以进行更新 其他规格。
整个输出,在一行到一行的基础上相互对比,揭示了以下剩余的行差异。这证明conda update --all
不仅仅是自定义元包:
conda update --all
在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 anaconda
在conda 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 anaconda
和conda 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?的主要内容,如果未能解决你的问题,请参考以下文章