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


当前回答

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

(tensorflow) $ conda install jupyter

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

其他回答

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

我不得不运行前3个答案中提到的所有命令来让它工作:

conda install jupyter
conda install nb_conda
conda install ipykernel
python -m ipykernel install --user --name mykernel

This has been so frustrating, My problem was that within a newly constructed conda python36 environment, jupyter refused to load “seaborn” - even though seaborn was installed within that environment. It seemed to be able to import plenty of other files from the same environment — for example numpy and pandas but just not seaborn. I tried many of the fixes suggested here and on other threads without success. Until I realised that Jupyter was not running kernel python from within that environment but running the system python as kernel. Even though a decent looking kernel and kernel.json were already present in the environment. It was only after reading this part of the ipython documentation: https://ipython.readthedocs.io/en/latest/install/kernel_install.html#kernels-for-different-environments and using these commands:

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

我能让一切顺利进行。(我实际上没有使用-user变量)。

我还没有想到的一件事是如何将默认的python设置为“python (other-env)”。目前,从主屏幕打开的现有.ipynb文件将使用系统python。我必须使用内核菜单“更改内核”来选择环境python。

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

pip install ipykernel

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

python -m ipykernel install --name = my_env

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

(tensorflow) $ conda install jupyter

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