如何删除不在默认 env 目录中的 anacnda 环境?

How to remove anacnda environments that's not in default env directories?

我在我选择的路径而不是 anaconda 的默认目录中创建了一个 conda 环境:

~$ conda create --prefix=/data/sfy_envs/test python=3.8

成功后conda中可见环境:

~$ conda info --envs
# conda environments:
#
base                  *  /data/miniconda3
maskrcnn_sfy             /data/miniconda3/envs/maskrcnn_sfy
torch16-sfy              /data/miniconda3/envs/torch16-sfy
                         /data/sfy_envs/test
                         /data/sfy_envs/tf2-sfy

最后两个环境是使用 --prefix 参数创建的,没有名称。我可以通过直接参考它们的路径来激活它们:

~$ conda activate /data/sfy_envs/test

但我无法删除它们。例如要删除 test,我试过:

~$ conda remove /data/sfy_envs/test
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are missing from the target environment:
  - /data/sfy_envs/test

~$ conda remove -p /data/sfy_envs/test

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

这些都行不通,我知道为什么。

或者我可以手动删除环境目录,并从文件 .conda/environments.txt 中删除它们的路径吗?我不确定这是否是一种安全的治疗方法。

使用

conda env remove --prefix /data/sfy_envs/test

conda remove --prefix /data/sfy_envs/test --all