首页 > 解决方案 > 如何删除不在默认 env 目录中的 ancnda 环境?

问题描述

我在我选择的路径而不是 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吗?我不确定这是否是一种安全的治疗方法。

标签: pythonanacondaconda

解决方案


采用

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

或者

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

推荐阅读