我注意到在没有指定python版本的情况下创建conda环境时:
conda create --name snowflakes
而不是:
conda create --name snowflakes python=3.6
环境没有分开,并使用默认的python解释器共享包。
因此,非分离的蟒蛇环境有什么用?
编辑 - 20170824: 问题已经解决了。实际上非分离环境不存在。使用第一个命令,没有安装新的Python解释器,因此它调用它在PATH中找到的第一个是标准Python解释器,因为没有其他解释器。
答案 0 :(得分:2)
我认为你误解了这个词"分开"在文档中。在文档中,它们意味着"分离"在"创造一个新的环境,用一个新的名称来尝试一些新的东西"。它们并不意味着您正在创建一种不同类型的conda环境。在conda中只有一种环境,你称之为"分离的"环境。所有环境中的所有包都是唯一的。碰巧第一个命令创建了一个没有包的空环境。因此,当激活新环境时,PATH
环境变量如下所示:~/miniconda3/envs/snowflakes/bin:~/miniconda3/bin:...
现在,因为~/miniconda3/envs/snowflakes/bin
中没有安装Python(因为snowflakes
环境为空),shell仍在~/miniconda3/bin
中找到Python作为路径上的第一个。 snowflakes
环境不与根环境共享。例如,如果在创建之后键入conda install -n snowflakes python
,它将安装一个新版本的Python,但不会找到任何包!因此,conda中只有一种环境,你称之为"分离"环境。