提问者:小点点

如何更新Anaconda?


我的电脑上安装了Anaconda,我想更新它。在Navigator中,我可以看到有几个单独的包可以更新,但是还有一个anaconda包,它有时有一个版本号,有时说是custom。我该如何进行?


共3个答案

匿名用户

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

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

conda update --all

(但这应该在conda更新-n base conda之前进行,以便安装最新的conda版本)

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

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

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

conda update -n dspyr --all

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

或从命令行:

conda update astroid astropy

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

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

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

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

conda文档提供了更多细节和示例。

这些都不会帮助更新通过pip从PyPI安装的包或使用python安装的任何包setup.py安装conda list将为您提供一些关于您在环境中拥有的基于pip的Python包,但它不会做任何特殊的事情来更新它们。

这几乎完全是同一个故事,唯一的例外是,如果基本环境是由其他人安装的(比如to/opt/anaconda/latest),您可能无法更新它。如果无法更新正在使用的环境,则应能够克隆然后更新:

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

匿名用户

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

因此,您应该使用conda进行升级,如官方文档所述:

conda update conda
conda update anaconda

这可以防止错误:

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

匿名用户

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

conda update conda
conda update anaconda

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

这应该会让你回到最新的“版本”,其中包含由连续体工作人员选择的可以很好地一起工作的包。

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

conda update --all 

希望这有帮助。

资料来源:

  • https://docs.anaconda.com/anaconda/install/update-version
  • https://github.com/conda/conda/issues/1414#issuecomment-119071154