我安装了Anaconda(使用Python 2.7),并在一个名为Tensorflow的环境中安装了Tensorflow。我可以在这个环境中成功导入Tensorflow。

问题是Jupyter Notebook无法识别我刚刚创建的新环境。无论我是从GUI Navigator还是tensorflow env中的命令行启动Jupyter Notebook,菜单中只有一个名为Python [Root]的内核,并且不能导入tensorflow。当然,我多次点击这个选项,保存文件,重新打开,但这些都没有帮助。

奇怪的是,当我打开Jupyter首页上的Conda标签时,我可以看到这两个环境。但是当我打开文件选项卡,并尝试新建一个笔记本时,我仍然只有一个内核。

我看了这个问题: 连接Conda环境与Jupyter Notebook 但是在我的电脑上没有~/Library/Jupyter/kernels这样的目录!这个Jupyter目录只有一个称为runtime的子目录。

我真的很困惑。Conda环境应该自动成为内核吗?(我在https://ipython.readthedocs.io/en/stable/install/kernel_install.html上手动设置了内核,但被告知没有找到ipykernel。)


当前回答

在我的例子中,使用Windows 10和conda 4.6.11,通过运行这些命令

conda install nb_conda

conda install -c conda-forge nb_conda_kernels

在我使用conda Jupyter笔记本从同一命令行打开Jupyter后,从终端同时有环境活动并没有做这项工作。

显然,解决方案是从Anaconda Navigator打开Jupyter,进入我的环境:打开Anaconda Navigator,在Environments中选择环境,按下所选环境的“播放”按钮,并选择“用Jupyter Notebook打开”。

Anaconda Navigator中的环境从选定的环境中运行Jupyter

其他回答

可能的特定渠道问题

我有这个问题(再次),原来我从conda-forge频道安装;将其移除并从蟒蛇通道重新安装,而不是为我修复它。

更新:我在一个新的env中再次遇到了同样的问题,这次我确实从anaconda通道安装了nb_conda_kernels,但我的jupyter_client来自conda forge通道。卸载nb_conda_kernels并重新安装会将其更新到更高优先级的通道。

所以请确保你从正确的渠道安装:)

仅使用环境变量:

python -m ipykernel install --user --name $(basename $VIRTUAL_ENV)

按照iPython文档中的说明,将不同的conda环境添加到Jupyter Notebook中可供选择的内核列表中。总之,安装完ipykernel后,必须在终端中逐个激活conda环境,执行命令python -m ipykernel install——user——name myenv——display-name " python (myenv)",其中myenv就是要添加的环境(内核)。

这适用于我在windows 10和最新解决方案:

1)进入conda环境(激活your_env_name)

2) conda install -n your_env_name ipykernel

3) python -m ipykernel install——user——name build_central——display name" your_env_name"

(注意:在步骤3中,“your_env_name”周围包含引号)

恼人的是,在你的tensorflow环境中,你可以运行jupyter notebook,而无需在该环境中安装jupyter。你就跑

(tensorflow) $ conda install jupyter

tensorflow环境现在应该在Jupyter notebook中可见,在任何conda环境中启动,类似于Python [conda env:tensorflow]。