在其他环境中也可以使用安装在环境中的软件包,为什么?

时间:2019-08-07 21:22:25

标签: python anaconda

基于以下两种情况,我试图了解各种环境中conda install背后的逻辑。

第一台计算机上,我安装了带有Python 3.7的新版Anaconda 3,为Python 2.7和3.7创建了新的py27py37环境,均使用默认的Anaconda软件包,并且仅向joblib env中添加了一个新的py27软件包:

conda install -n py27 joblib

此操作之后,joblib在所有三种环境中均可用。为什么不仅在`py27中?

第二台计算机上,我安装了带有Python 2.7的全新Anaconda 2,为Python 2.7和3.7创建了新的py27py37环境,均使用默认的Anaconda软件包,并且仅向joblib环境中添加了一个新的py27软件包,这次使用的命令略有不同:

conda activate py27
conda install joblib

这次,joblibpy27中的py37可用,但基本环境中不可用。为什么不在基地?

问题:这两个命令应该是等效的,但两种情况下的结果令我惊讶。我希望在这两种情况下,joblib仅安装在py27环境中。显然,我缺少一些信息。我在Anaconda文档中也找不到任何相关内容,也没有在线。

1 个答案:

答案 0 :(得分:1)

事实证明,joblib默认安装在Anaconda 3中,而不安装在Anaconda 2中。因此,实际上conda install仅在环境py27中安装了该软件包,但该软件包却安装在环境A中可在所有Python 3.7环境中使用,因为它是Anaconda 3发行版添加的。