conda install
和conda update
有什么区别?我浏览了文档,没有发现任何明显的区别。
在每个人都对这个问题投反对票之前,请先阅读文档:
来自conda install
:
Conda尝试安装所请求的最新版本 包。为此,它可能会更新一些软件包, 已安装,或安装其他软件包。要防止现有软件包更新,请使用--no-update-deps 选项。这可能会迫使conda安装旧版本的 请求的软件包,并且不会阻止安装其他依赖软件包。
来自conda update
:
Conda尝试安装所请求的最新版本 包。为此,它可能会更新一些软件包, 已安装,或安装其他软件包。要防止现有软件包更新,请使用--no-update-deps 选项。这可能会迫使conda安装旧版本的 请求的软件包,并且不会阻止安装其他依赖软件包。
答案 0 :(得分:3)
这正是您提供的文档所说的。对于conda安装:
将软件包列表安装到指定的conda环境中。
并进行conda更新:
将conda软件包更新为最新的兼容版本。
答案 1 :(得分:0)
在问题中引用的文档中的文本中
... Conda尝试安装所请求软件包的最新版本。...
需要强调的是,文档对于安装和更新之间的区别还不是很清楚。该文档对安装的内容具有相同的解释,但又不明确说明的条件这一事实肯定会造成混淆(至少对我而言)。
安装和更新之间的隐式区别不仅在于如果尝试更新不存在的软件包(问题注释中提到的错误),还会得到一个错误,还在于已经安装的软件包如果您使用install
,将不会被触摸。
一个真实的例子:
(base) 535> conda install -d conda
Collecting package metadata (repodata.json): done
Solving environment: done
# All requested packages already installed.
同时
(base) 536> conda update -d conda
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /data/anasynth/anaconda3
added / updated specs:
- conda
The following packages will be downloaded:
8< -- cut a long list of packages -- >8
因此,实际上conda install
仅在未安装软件包,已经安装软件包的情况下才安装最新版本,尽管说明中有说明,但它不会更新到最新版本最新版本,而conda update
仅在软件包存在的情况下安装到最新版本,否则将给出错误消息。