Conda环境没有出现在Jupyter Notebook中

我安装了Anaconda(使用Python 2.7),并在称为tensorflow的环境中安装了tensorflow 。 我可以在该环境下成功导入Tensorflow。

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

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

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

我真的很困惑。 Conda环境是否应该自动成为内核? (我跟着https://ipython.readthedocs.io/en/stable/install/kernel_install.html手动设置内核,但被告知没有findipykernel 。)

令人讨厌的是,在您的tensorflow环境中,您可以在该环境下运行jupyter notebook 而无需安装jupyter 。 赶紧跑

 (tensorflow) $ conda install jupyter 

现在在Jupyter笔记本中可以看到tensorflow环境,这些Jupyter笔记本是在任何tensorflow环境中启动的,就像Python [conda env:tensorflow]

我不认为其他答案正在工作,conda停止自动设置为jupyter内核的环境。 您需要按照以下方式手动为每个环境添加内核:

 source activate myenv python -m ipykernel install --user --name myenv --display-name "Python (myenv)" 

如此处所述: http : //ipython.readthedocs.io/en/stable/install/kernel_install.html#kernels-for-different-environments另请参阅此问题 。

@ HarshaManjunath的评论提到,当使用Anaconda3(或者Miniconda3)时,你需要在nb_conda环境中安装nb_conda (除了jupyter ):

 (py35) $ conda install nb_conda 

请注意,这目前不适用于python 3.6环境 。 该软件包的信息确实说有一个python 3.6版本,它只是不工作。

 $ conda info nb_conda ... nb_conda 2.0.0 py36_0 --------------------- file name : nb_conda-2.0.0-py36_0.tar.bz2 name : nb_conda version : 2.0.0 build string: py36_0 build number: 0 channel : defaults size : 30 KB arch : x86_64 date : 2016-12-20 license : BSD md5 : 24d433439f2fdd1d27e49c27688c2589 noarch : None platform : linux url : https://repo.continuum.io/pkgs/free/linux-64/nb_conda-2.0.0-py36_0.tar.bz2 dependencies: _nb_ext_conf nb_conda_kernels notebook >=4.2 python 3.6* 

要在Jupyter笔记本中使用python 3.6,可以在python 3.6环境下运行jupyter 。 您将无法从Jupyter内看到或切换到其他环境。

 $ conda create -n py36_test -y python=3.6 jupyter $ source activate py36_test (py36_test) $ which jupyter /home/schowell/anaconda3/envs/py36_test/bin/jupyter (py36_test) $ jupyter notebook 

注意我在这个笔记本上运行Python 3.6.1: 在这里输入图像说明

只要在你的新环境中运行conda install ipykernel ,只有这样你才能得到这个env的内核。 即使您在每个envs中安装了不同的版本,它也能正常工作,并且不会再安装jupyter笔记本。 你可以从任何环境启动你的笔记本,你将能够看到新添加的内核。

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

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

用conda安装jupyter和ipython到myenv

 conda install -n myenv ipython jupyter 

之后,在任何env之外运行jupter notebookmyenv作为内核与我以前的环境一起列出。

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

启动环境后运行笔记本:

 source activate myenv jupyter notebook 

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

 python 2 python 3 R