我正在运行安装了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 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
的{{1}}。但是,在激活此环境后运行python运行我认为是系统python。标题中没有说明是anaconda。
为了确保我将环境复制到/home/user1/.conda/envs/
不会导致问题,如果我只是在主目录中创建一个基本环境,然后从那里克隆它,我会得到同样的结果。
同样在root中运行/usr/share/anaconda2/
时我得到:python --version
,在test_base环境中我得到:Python 2.7.12 :: Anaconda 4.1.1 (64-bit)
,在克隆环境中(测试)我只得到:{{1 }}
关于为什么克隆conda环境的任何想法都会丢失原始环境中包含的信息?如何防止这种情况,以便克隆环境实际上与原始“基础”环境相同?
编辑:当我将Anaconda直接安装到Python 2.7.12 :: Continuum Analytics, Inc.
并从那里尝试相同的过程时,此问题不存在。我知道我没有做任何错误的步骤。最终,我可以为机器上的每个用户创建步骤,以单独安装Anaconda并为自己创建“基础”环境。但是,我很想知道为什么在Python 2.7.12