如何正确使用“conda update -n base conda”

Mar*_*ark 18 python anaconda conda

我有两个关于更新 conda 的非常简单的问题。即,当使用 更新我的一个环境时 conda update --all,我收到一条警告

==> WARNING: A newer version of conda exists. <==
  current version: xyz1
  latest version: xyz2

Please update conda by running

    $ conda update -n base conda
Run Code Online (Sandbox Code Playgroud)

我的设置包括一个基本环境和两个实际工作环境,例如(env1)和(env2)。conda update --all后两个环境与每个环境中发布的保持最新。基础环境仅在Anaconda的安装过程中生成。

问题 1:在激活任何环境之前是否conda update -n base conda应该在操作系统(linux)的命令行上运行?或者应该激活特定的环境?或者发出该命令的环境是否无关紧要?

问题 2conda update -n base conda :从问题 1 的答案确定的任何环境中运行后,conda update --all在我的两个工作环境 (env1,2) 之一中发布的后续内容是否会安装或更新任何其他内容,仅作为前一个的结果conda update -n base conda

(PS:我在 stackoverflow 上发现了很多关于 的问题conda update conda,但他们似乎没有涵盖这一点。)

小智 31

如果你像我一样对 conda 版本非常落后,我发现无论如何它都不会更新。在这种情况下,请尝试:

conda install -n base -c defaults conda=23.3.1

注意: install而不是更新)只需填写它要求您更新到的版本即可。

编辑: 按照@merv的评论,包括'conda>=VERSION'引号以确保您更新到指定版本之后的任何版本(ENV是您想要升级的环境,例如base,并且VERSION是您想要安装到的版本):

conda install -n ENV 'conda>=VERSION'

  • 更好:定义一个下限,这样下次更新时就不会阻塞。`'conda&gt;=23.3.1'` (请务必使用引号) (4认同)

小智 6

您像任何其他包管理器一样处理 conda,您可以通过以下方式在基本环境中更新它conda update -n base conda

conda update --all 
Run Code Online (Sandbox Code Playgroud)

是为了更新激活环境中的所有软件包 检查这个


cel*_*cel 6

Q1: -n显式指定环境 - 该命令将在任何环境中运行,即使您没有活动的环境。

Q2:除了极少数情况外,在所有情况下,更新 conda 都不会影响应该安装在其他环境中的软件包。conda 扮演包管理器的角色。这些软件包是从独立于 conda 版本的索引中提取的。