我如何更新Anaconda?

时间:2017-07-19 17:55:16

标签: python anaconda conda

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

enter image description here

13 个答案:

答案 0 :(得分:327)

95%的人真正想要

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

conda update --all

(但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

更新个别包

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

Apply to update individual packages

或者从命令行:

conda update astroid astropy

仅更新标准Anaconda Distribution

中的包

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

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

在大多数情况下,更新包列表中的Anaconda软件包会产生令人惊讶的结果:您实际上可能降级许多软件包(事实上,如果它指示版本为{{1} })。上面的要点提供了详细信息。

利用conda环境

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

root

conda documentation有更多详情和示例。

pip,PyPI和setuptools?

这不会有助于更新通过conda create -n myspecialenv -c bioconda -c conda-forge python=3.5 pandas beautifulsoup seaborn nltk 或使用pip安装的任何软件包从PyPI安装的软件包。 python setup.py install会给你一些关于环境中基于pip的Python软件包的提示,但它不会做任何特殊的事情来更新它们。

Anaconda或Anaconda Enterprise的商业用途

这几乎是完全相同的故事,但如果它是由其他人安装的(例如conda list),您可能无法更新root环境。如果您无法更新正在使用的环境,则应该能够克隆然后更新:

/opt/anaconda/latest

答案 1 :(得分:70)

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

因此,您应该使用conda进行升级,详见official docs

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,'访问被拒绝')

答案 2 :(得分:37)

打开&#34;命令或conda提示&#34;并运行:

conda update conda
conda update anaconda

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

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

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

conda update --all 

希望这有帮助。

<强>来源:

答案 3 :(得分:6)

如果您无法获得例如从3.3.x到4.x(conda更新conda&#34;不起作用&#34;进入下一个版本)比尝试更具体如此:

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

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

答案 4 :(得分:5)

在基本模式下打开Anaconda cmd:

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

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

conda update conda
conda update --all

答案 5 :(得分:3)

这是最佳实践(以我的拙劣经验)。选择这些 四个 软件包还将把所有其他依赖项更新为适当的版本,这将帮助您保持环境的一致性。后者是其他人在较早回应中表达的普遍问题。此解决方案不需要终端。

Updating and upgrading Anaconda3 or Anaconda2 best practice

答案 6 :(得分:1)

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

conda update conda
conda update anaconda

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

答案 7 :(得分:1)

使用Windows 10。 对于那些刚接触游戏的人(如我),python确实就像去了(代码库),以下内容将更新所有内容,并安装一些新软件包,包括python更新(对我来说是3.7.3) ):

在外壳上尝试以下操作(请确保更改Anaconda3 Data的安装位置)。更新所有内容需要一些时间。

conda更新-前缀X:\ XXXXData \ Anaconda3 anaconda

答案 8 :(得分:1)

要将安装的版本更新为最新版本(例如2019.07),请运行

conda install anaconda=2019.07

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

答案 9 :(得分:1)

这是official Anaconda documentation的建议:

conda update conda 
conda update anaconda=2019.10

如果最后一行抛出错误(文档中有错字?),则可以在这里工作:

conda install anaconda=2019.10

(您可以找到所有发行说明here

该命令将更新为Anaconda元软件包的特定版本。

是95%的Anaconda用户想要的。只需升级到最新版本的Anaconda元软件包(放到一起并由Anaconda发行商进行测试),而不必关心单个软件包的更新状态(由conda update --all发布)。

答案 10 :(得分:0)

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

只需输入$ alias python=python3

要撤消,$ unalias python

答案 11 :(得分: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  

然后它起作用了!

答案 12 :(得分:-2)

这只能更新python:

conda update python