题 我如何更新Anaconda?


我在我的电脑上安装了Anaconda,我想更新它。在Navigator中,我可以看到有几个单独的包可以更新,但也可以 anaconda 包有时有版本号的包,有时会说 custom。我该怎么办?

enter image description here


88
2017-07-19 17:55


起源




答案:


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

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

conda update --all

(但这应该是 preceeded 通过 conda update -n root conda 所以你有最新的 conda 版本安装)

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

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

Open terminal from Navigator

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

conda update -n dspyr --all

更新单个包

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

Apply to update individual packages

或者从命令行:

conda update astroid astropy

仅更新标准Anaconda Distribution中的软件包

如果你不关心包版本而只是想要 “标准Anaconda Distribution中的最新套装,只要它们一起工作”那么你应该 看看这个要点

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

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

利用conda环境

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

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

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

pip,PyPI和setuptools?

这些都不会有助于更新从PyPI安装的软件包 pip 或使用安装的任何包 python setup.py installconda list 将为您提供有关环境中基于pip的Python软件包的一些提示,但它不会对更新它们做任何特殊处理。

Anaconda或Anaconda Enterprise的商业用途

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

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

163
2017-07-19 17:55



我还是会去的 conda update anaconda 以供将来更新。刚刚做到了 conda update --all 因为a而无法启动Navigator PySide ModuleNotFoundError 这是我无法解决的。即使降级后也是如此。所以我不得不重新安装Anaconda并再次设置我的环境。这是第二次发生在我身上,而我从未遇到过问题 conda update anaconda。即使这意味着我的软件包不是非常新的(分发仍然经常更新: docs.anaconda.com/anaconda/release-notes我更喜欢拥有稳定的系统 - MattSchmatt
@MattSchmatt确保你这样做 conda update conda 同样。 Conda在过去一年中发生了重大变化,特别是我们在2017年9月下旬发布了一项改进,引入了很多改进。如果 conda update --all破坏事物(历史上,它几乎肯定会这样做)然后这是一个你应该向conda GitHub问题跟踪器报告的错误 - 今天该操作 不应该 打破任何现有组件(条件conda需要是最新的)。 - IanSR
IanSR谢谢,也许在全新安装后,但我不会冒这个风险 再次 在我的工作系统上。就像我说的那样,我的偏好是稳定而不是极端的最新状态,而且四分之一(左右)的更新对我来说已经足够了。 - MattSchmatt
我必须做 conda update -n root conda 而不是上面提到的为了它的工作。 - Lucas
该 conda update --all 不是95%的人想要的。它可能导致不稳定的环境。用户3056882的回答更安全。 - gagarine


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

因此,您应该安装使用conda进行升级,详细说明如下 官方文件

conda update conda
conda update anaconda


在Windows中,如果您安装了“for all users”,则可能需要从具有管理员权限的Anaconda提示符运行。

Simply right click on Anaconda Prompt in the start menu

这可以防止错误:

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


41
2017-10-20 03:39



docs.anaconda.com/anaconda/install/update-version - Belter


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

conda update conda
conda update anaconda

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

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

如果你想运行每个包的最后一个版本(这可能会导致 环境不稳定):

conda update --all 

希望这可以帮助。

资料来源:


20
2018-02-11 23:24



如果您喜欢稳定的环境,而不是拥有每个软件包的最新版本,请跳过步骤4。 conda update anaconda 应该让你回到其中一个'发布',其中包含由Continuum的人员选择的软件包,以便能够很好地协同工作。 - rudolfbyker
谢谢你rudolfbyker。我编辑了答案以反映您的评论。 - user3056882


如果你很难得到例如从3.3.x到4.x(conda update conda“无效”进入下一个版本)比尝试更具体如此:

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

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


3
2018-03-16 11:53





在Mac上打开终端并按照2个命令运行。

conda update conda
conda update anaconda

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


1
2018-05-18 16:04