我如何更新Anaconda?

问题描述 投票:193回答:9

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

enter image description here

python anaconda conda
9个回答
335
投票

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

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

conda update --all

(但这应该在conda update -n root conda之前,所以你安装了最新的conda版本)

这会将当前环境中的所有软件包更新到最新版本 - 小版本可能会使用某些软件包的旧版本以满足依赖性约束(通常这不是必需的,并且在必要时包计划解决方案将尽力减少影响)。

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

Open terminal from Navigator

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

conda update -n dspyr --all

更新单个包

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

Apply to update individual packages

或者从命令行:

conda update astroid astropy

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

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

为什么更新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 documentation有更多细节和例子。

pip,PyPI和setuptools?

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

Anaconda或Anaconda Enterprise的商业用途

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

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

74
投票

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

所以你应该使用conda进行升级,详见official docs

conda update conda
conda update anaconda


In Windows, if you made a "for all users" installation, it might be necessary to run from an Anaconda prompt with Administrator privileges.

Simply right click on Anaconda Prompt in the start menu

这可以防止错误:

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


37
投票

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

conda update conda
conda update anaconda

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

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

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

conda update --all 

希望这可以帮助。

资料来源:


7
投票

如果您无法获得例如从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
投票

这是最佳实践(以我谦逊的经历)。选择这四个软件包还会将所有其他依赖项更新为适当的版本,以帮助您保持环境的一致性。后者是其他人在早期答复中表达的常见问题。该解决方案不需要终端。

Updating and upgrading Anaconda3 or Anaconda2 best practice


1
投票

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

conda update conda
conda update anaconda

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


1
投票

使用Windows 10.对于刚接触游戏的人(比如我),其中python真的就像去了库(代码),以下更新所有内容并安装一些新的包,包括python更新(对我而言)是3.7.3):

在shell尝试以下(确保更改Anaconda3数据的安装位置)。更新所有内容需要一些时间。

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


0
投票

@InLaw的答案非常准确。作为补充,如果你有python2作为默认值,你可以用别名切换到python3

只需输入$ alias python=python3即可

要撤消,$ unalias python


0
投票
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  

然后它的作品!

© www.soinside.com 2019 - 2024. All rights reserved.