【问题标题】:~/.conda/envs vs. ~/anaconda3/envs~/.conda/envs 与 ~/anaconda3/envs
【发布时间】:2020-10-05 21:01:20
【问题描述】:
最近更新 macOS Catalina 后,我正在调试 Anaconda 的一些问题,并注意到 ~/.conda/envs 已添加到配置中。这已经破坏了我的一些开发环境,我想知道......
为什么我会看到 conda 环境的这个新位置?我可以删除它并继续在~/anaconda3/envs 中使用和创建环境吗?
conda info
...
envs directories : /Users/me/.conda/envs
/Users/me/anaconda3/envs
...
【问题讨论】:
标签:
python-3.x
anaconda
conda
【解决方案1】:
根据this GitHub issue,~/.conda/envs的目的是为conda提供至少一个保证用户可写的目录。
~/.conda 目录不再在 Windows 上使用,仅在 unix 上使用。 Conda 的安装位置不保证是用户可写的。 Conda 始终需要至少一个用户可写位置用于包缓存(pkgs 目录)和创建新命名环境的 envs 目录。这些目录的默认位置在 unix 上是 ~/.conda,在 Windows 上我们使用 appdirs。 ~/.conda 目录多年来一直在 unix 上用于此目的。
如果 conda 的安装位置是用户可写的,那么这就是这两个目录选择为“第一个可写”的位置。当当前用户不可写 conda 的安装位置时,conda 使用 ~/.conda 目录作为可写位置,但仍可以将安装位置用于只读包缓存和命名环境。比较两种不同情况下conda config --show 的输出。
这些目录的位置可以通过使用envs_dirs 和pkgs_dirs 配置参数或CONDA_ENVS_DIRS 和CONDA_PKGS_DIRS 环境变量的配置来覆盖。
只在~/anaconda3/envs 中安装环境应该是安全的,只要当前用户可以写入。例如,我只将环境安装到 ~/miniconda3/envs 并且没有遇到任何问题。