--all 标志对 conda env remove 有什么作用?

What does the --all flag do for conda env remove?

我想删除一个 Anaconda 环境。从这个reference看来我可以使用

conda remove --name myenv --all

conda env remove --name myenv

documentation两者都提到了,但没有解释区别。

我如何确定 --all 标志的作用?

没有区别效果.

Conda 有两个 remove 命令:

  • conda remove - 用于删除 软件包
  • conda env remove - 用于删除 环境

两者都有一个 --name,-n 参数来指定运行环境。只有前者还有一个 --all 标志,它实际上与后者做同样的事情。1


已过时(来自原始答案)

问题中最初的第一个示例有错字并且无效,因为它指示从环境中删除包,但没有指定任何包。 运行 它会产生一条错误消息:

$ conda remove -n myenv

CondaValueError: no package names supplied,
       try "conda remove -h" for more details

[1] 在我看来,这是一个稍微不一致的 API 设计。由于可以创建一个空环境,我相信 conda remove --all 的更对称结果是它删除所有包但仍保留空环境。想要在整个环境级别上操作的用户应该使用 conda env 命令。不幸的是,这种功能重叠是个体发育的产物,即 conda-env 最初是一个单独的包,出现​​在 conda 之后,因此 conda remove -n envname --all 是环境移除的原始习语。