我一直在试验anaconda / miniconda,因为我的用户使用随miniconda安装的结构生物学程序,并且没有作者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原始实例的整个父目录已被删除并在一个完全不同的位置替换为一个目录时(因此,本地local.txt文件无法对此进行分类。

最佳答案

info命令的代码包含在cli.main_info模块中,这种情况下的相关代码是here。这会从here导入函数,该函数(除其他外)读取配置值envs_dirs。您可以通过运行以下命令在系统上找到此配置值的值

conda config --show envs_dirs


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

10-08 08:09
查看更多