首页 > 解决方案 > conda-env list / conda info --envs 如何查找环境?

问题描述

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

所以,使用 Arch linux,首先我安装了 anaconda (version 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 原始实例的整个父目录已被删除并替换为完全不同位置的父目录时(因此没有本地environment.txt文件可以对此进行编目。

标签: pythonanacondacondaminiconda

解决方案


info命令的代码包含在cli.main_info模块中,本案例的相关代码在此处。这从这里导入函数(除其他外)读取配置值envs_dirs。您可以通过运行在您的系统上找出此配置值的值

conda config --show envs_dirs

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


推荐阅读