iPython内核和Anaconda环境

时间:2018-06-06 07:48:13

标签: python ipython anaconda jupyter

我想为我的Jupyter笔记本安装Python 2和Python 3内核,所以我按照http://ipython.readthedocs.io/en/stable/install/kernel_install.html中的说明使用conda。我最初只运行Python 3内核,所以我安装了Python 2:

conda create -n ipykernel_py2 python=2 ipykernel
source activate ipykernel_py2  
python -m ipykernel install --user

现在我在Anaconda上有一个新环境ipykernel_py2,我在Jupyter上有Python 2内核。但是,我意识到即使在原始基础(root)环境中,我仍然可以使用Python 2。现在我有点困惑,因为我记得这是在安装一个新的conda环境,我应该只能在ipykernel_py2环境中访问Python 2内核。

当我在Jupyter中使用Python 2内核时,它就好像它在自己的环境中一样:在原始基础(根)环境中安装的像pandas / matplotlib这样的包没有安装在Python 2内核环境中。

有人可以向我解释为什么即使在ipykernel_py2环境之外也可以访问Python 2内核?它是否与安装的内核规范文件有关? (在链接上提到)。

1 个答案:

答案 0 :(得分:0)

您不使用python -m ipykernel install --user安装ipython内核。实际上,该命令将为相应的内核安装内核规范。内核本身是从ipykernel软件包安装的。您是在创建环境期间完成的:conda create -n ipykernel_py2 python=2 ipykernel

ipython内核可能位于与Jupyter环境不同的环境中。那绝对是正常的。在Jupyter中选择它时,内核规范将指向其他环境中的内核,并且它将由该目标环境中的解释器执行。执行上下文将是内核的环境之一,而不是Jupyter的环境。