我想删除一个Anaconda环境。从这个参考来看,看起来我可以用
conda remove --name myenv --all
或者
conda env remove --name myenv
文档中提到了这两个方面,但没有解释其中的区别。
如何确定--all
标志的作用?
在效果上没有区别。
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
是环境移除的原始习惯用法