我安装了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。)


当前回答

我也遇到了同样的问题,我的新conda环境myenv不能被选为内核或新笔记本。在env中运行jupter notebook也得到了相同的结果。

我的解决方案,以及我了解到Jupyter笔记本如何识别conda-envs和内核:

使用conda将jupyter和ipython安装到myenv:

conda install -n myenv ipython jupyter

在那之后,在任何env之外运行jupter notebook时,将myenv与我以前的环境一起列为内核。

Python [conda env:old]
Python [conda env:myenv]

启动环境后运行笔记本:

source activate myenv
jupyter notebook

隐藏所有其他环境内核,只显示我的语言内核:

python 2
python 3
R

其他回答

首先你需要激活你的环境。

pip install ipykernel

接下来,您可以通过输入以下命令将虚拟环境添加到Jupyter:

python -m ipykernel install --name = my_env

我只是想补充之前的答案:如果安装nb_conda_kernels, ipywidgets和ipekernel不能工作,请确保您的Jupyter版本是最新的。我的envs在一切正常工作一段时间后突然停止显示,并在我简单地通过anaconda navigator更新jupyter后恢复工作。

我也遇到过类似的问题,我找到了一个适用于Mac、Windows和Linux的解决方案。它需要上面答案中的几个关键成分:

为了能够看到conda env在Jupyter笔记本,你需要:

the following package in you base env: conda install nb_conda the following package in each env you create: conda install ipykernel check the configurationn of jupyter_notebook_config.py first check if you have a jupyter_notebook_config.py in one of the location given by jupyter --paths if it doesn't exist, create it by running jupyter notebook --generate-config add or be sure you have the following: c.NotebookApp.kernel_spec_manager_class='nb_conda_kernels.manager.CondaKernelSpecManager'

您可以在终端看到的环境:

在Jupyter实验室,你可以看到相同的env上面的笔记本和控制台:

当你打开笔记本时,你可以选择你的环境:

安全的方法是创建一个特定的env,从中运行envjupyter lab命令的示例。激活你的环境。然后添加jupyter实验室扩展示例jupyter实验室扩展。然后你就可以运行木星实验室了

虽然@coolscitist的回答对我来说是有效的,但也有一种方法不会让你的内核环境与完整的jupyter包+deps混淆。 它在ipython文档中有描述,(我怀疑)只有在非基础环境中运行笔记本服务器时才有必要。

conda activate name_of_your_kernel_env
conda install ipykernel
python -m ipykernel install --prefix=/home/your_username/.conda/envs/name_of_your_jupyter_server_env --name 'name_of_your_kernel_env'

你可以用

conda activate name_of_your_jupyter_server_env 
jupyter kernelspec list

这适用于我在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”周围包含引号)