conda-env list / conda info --envs 如何找到环境?

How does conda-env list / conda info --envs find environments?

我一直在试验 anaconda/miniconda,因为我的用户使用安装了 miniconda 的结构生物学程序,作者的 none A) 考虑到可能还有其他 miniconda 应用程序 B)他们的程序将在多用户环境中使用。

因此,使用 Arch linux,首先我安装了 anaconda(版本 4.5.12),然后使用我自己的帐户创建了几个测试环境:

conda create -n snakes
conda create -n sharks

然后我(完全)卸载了 anaconda 并安装了 miniconda(也是 4.5.12 版),然后以 root 身份在非标准位置创建了另一个环境:

# conda create -p /usr/local/miniconda/pyem

这就是事情变得奇怪的地方。当我以 root 用户身份列出环境时,我不仅会看到默认环境和我刚刚创建的环境,还会看到我之前使用我的用户帐户创建的环境!

[root@lizard /]# conda info --envs
# conda environments:
#
                         /home/cnsit/.conda/envs/sharks
                         /home/cnsit/.conda/envs/snakes
base                  *  /opt/miniconda3
                         /usr/local/miniconda/pyem

conda-env list 命令给出相同的输出。)

所以,问题:conda 如何查找由不同用户创建的环境? 此外,当 conda 原始实例的整个父目录已被删除并替换为一个时在一个完全不同的位置(因此没有本地 environments.txt 文件可以对此进行编目。

info command is contained in the cli.main_info module, and the relevant code for this case is here. This imports the function from over here 的代码(除其他外)读取配置值 envs_dirs。您可以通过 运行

在您的系统上找到此配置值的值
conda config --show envs_dirs

我希望这会向您显示正在搜索的环境的用户目录。