提问者:小点点

什么是--all标志为conda env删除?


我想删除一个Anaconda环境。从这个参考来看,看起来我可以用

conda remove --name myenv --all

或者

conda env remove --name myenv

文档中提到了这两个方面,但没有解释其中的区别。

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


共1个答案

匿名用户

在效果上没有区别。

Conda有两个remove命令:

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

两者都有一个--name,-n参数,指定要在其上操作的环境。只有前者还有一个--all标志,它实际上与后者做同样的事情。

作废(源自原始答案)

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

$ 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是环境移除的原始习惯用法