我正在运行安装了 Anaconda 4.1.1(64 位)的 Ubuntu 16.04。
我正在使用共享机器,并且我正在尝试创建一些不同的 Conda 环境作为“基础”环境,然后机器上的其他用户可以将其克隆到他们的本地环境中。
为此,我在以下位置安装了 anaconda:
/usr/share/anaconda2/
对于我的测试用户,我的.condarc
文件如下所示:
envs_dirs:
- /home/user1/.conda/envs
- /usr/share/anaconda2/envs
我使用以下方法创建了一个 conda 环境:conda create --name test_base python=2 numpy scipy
然后,使用 sudo,我/test_base
从复制/home/user1/.conda/envs/
到/usr/share/anaconda2/envs/
. 运行conda info --envs
找到原始和复制的环境,所以我删除了用户文件夹中的副本。然后我可以source activate test_base
运行 python 为标准的 Anaconda 标题提供正确的 python 版本。这是我所期望的。
现在,当我这样做时,conda create --name test --clone test_base
我现在有一个env
被调用test
的/home/user1/.conda/envs/
. 但是,在激活此环境后运行 python 运行我认为是系统 python。标题没有说明是蟒蛇。
为了确保我对环境的复制/usr/share/anaconda2/
不会导致问题,如果我只是在主目录中创建一个基本环境,然后从那里克隆它,我会得到同样的结果。
此外,python --version
在 root 中运行时,我得到:Python 2.7.12 :: Anaconda 4.1.1 (64-bit)
,在 test_base 环境中得到:Python 2.7.12 :: Continuum Analytics, Inc.
,而在克隆环境(测试)中,我只得到:Python 2.7.12
关于为什么克隆 conda 环境会丢失原始环境中包含的信息的任何想法?如何防止这种情况,以便克隆环境实际上与原始“基础”环境的行为相同?
编辑:~/anaconda2
当我直接安装 Anaconda并从那里尝试相同的过程时,此问题不存在。我知道我没有做任何错误的步骤。最终,我可以为机器上的每个用户创建步骤来单独安装 Anaconda 并为他们自己创建“基础”环境。但是,我很想知道为什么这个问题存在于 Anaconda 的共享安装中/usr/share/anaconda2/