非分离的anaconda环境有什么用?
What is the use of non-separated anaconda environments?
我注意到在创建 conda 环境时没有指定 python 版本:
conda create --name snowflakes
而不是:
conda create --name snowflakes python=3.6
环境未分离,并与默认 python 解释器共享包。
那么,非分离的anaconda环境有什么用呢?
编辑 - 20170824:
这个问题已经解决了。实际上 非分离环境 并不存在。对于第一个命令,没有安装新的 Python 解释器,因此它调用它在 PATH 中找到的第一个是标准 Python 解释器,因为没有其他解释器。
我认为您误解了文档中的 "separate" 一词。在文档中,它们的意思是 "create a new environment, with a new name to try some new things" 意义上的 "separate"。它们并不意味着您正在创建一种不同类型的 conda 环境。 conda 中只有一种环境,就是你所说的 "separated" 环境。所有环境中的所有包始终是唯一的。碰巧第一个命令创建了一个没有包的空环境。因此,当新环境被激活时,PATH
环境变量看起来像: ~/miniconda3/envs/snowflakes/bin:~/miniconda3/bin:...
现在,由于没有 Python 安装到 ~/miniconda3/envs/snowflakes/bin
(因为 snowflakes
环境为空),shell 仍然在 ~/miniconda3/bin
中找到 Python 作为路径上的第一个。 snowflakes
环境不与根环境共享。例如,如果在创建后键入 conda install -n snowflakes python
,它将安装一个找不到任何包的新版本 Python!所以conda里面只有一种环境,就是你说的"separated"环境
我注意到在创建 conda 环境时没有指定 python 版本:
conda create --name snowflakes
而不是:
conda create --name snowflakes python=3.6
环境未分离,并与默认 python 解释器共享包。
那么,非分离的anaconda环境有什么用呢?
编辑 - 20170824: 这个问题已经解决了。实际上 非分离环境 并不存在。对于第一个命令,没有安装新的 Python 解释器,因此它调用它在 PATH 中找到的第一个是标准 Python 解释器,因为没有其他解释器。
我认为您误解了文档中的 "separate" 一词。在文档中,它们的意思是 "create a new environment, with a new name to try some new things" 意义上的 "separate"。它们并不意味着您正在创建一种不同类型的 conda 环境。 conda 中只有一种环境,就是你所说的 "separated" 环境。所有环境中的所有包始终是唯一的。碰巧第一个命令创建了一个没有包的空环境。因此,当新环境被激活时,PATH
环境变量看起来像: ~/miniconda3/envs/snowflakes/bin:~/miniconda3/bin:...
现在,由于没有 Python 安装到 ~/miniconda3/envs/snowflakes/bin
(因为 snowflakes
环境为空),shell 仍然在 ~/miniconda3/bin
中找到 Python 作为路径上的第一个。 snowflakes
环境不与根环境共享。例如,如果在创建后键入 conda install -n snowflakes python
,它将安装一个找不到任何包的新版本 Python!所以conda里面只有一种环境,就是你说的"separated"环境