将Conda环境与Jupyter Notebook联系起来

时间:2016-05-25 09:43:48

标签: python ipython jupyter jupyter-notebook miniconda

我正在努力为使用python做一些科学的东西设置一个良好的环境。为此,我安装了Jupyter& miniconda。

然后我希望能够拥有不同的环境,并将它们与Jupyter笔记本一起使用。所以我用conda创建了两个自定义env:py27和py35。

> conda env list
# conda environments:
#
py27                     /Users/***/miniconda3/envs/py27
py35                     /Users/***/miniconda3/envs/py35
root                  *  /Users/***/miniconda3

然后在我的笔记本上我有两个内核python 2python 3。 在笔记本中,我使用python3内核获得以下内容:

> import sys
> print(sys.executable)
/Users/***/miniconda3/envs/py35/bin/python

这与python2内核:

> import sys
> print(sys.executable)
/usr/local/opt/python/bin/python2.7
  • 如何为python2设置sys.executable到miniconda env?
  • 如何将conda env与笔记本内核绑定?
  • source activate py35是否有jupyter notebook的链接?

我想我真的错过了什么。

谢谢大家。

---编辑

我有多个jupyter bin:

> where jupyter
/usr/local/bin/jupyter
/usr/local/bin/jupyter
/Users/ThomasDehaeze/miniconda3/bin/jupyter

我这里只有一个内核/usr/local/share/jupyter/kernels/python2。 但在Jupyter里面,我有两个内核,python2python3。我在哪里可以找到另一个?

我修改了kernel.json的{​​{1}}:

/usr/local/share/jupyter/kernels/python2

然后:

{
 "display_name": "Python 2",
 "language": "python",
 "argv": [
  "/Users/***/miniconda3/envs/py27/bin/python2.7",
  "-m",
  "ipykernel",
  "-f",
  "{connection_file}"
 ]
}

所以没有任何改变

5 个答案:

答案 0 :(得分:69)

对于Anaconda,我建议你一个更容易和更合适的解决方案; 只需看一下nb_conda_kernels package

它允许您在Jupyter笔记本中管理基于环境的conda内核"。

自Anaconda 4.1.0版本开始应该包括在内,否则只需使用

conda install nb_conda

现在,您应该可以从Notebook界面直接管理所有目标。

答案 1 :(得分:6)

假设您的conda-env名为cenv,它很简单:

    $ conda activate cenv
    (cenv)$ conda install ipykernel
    (cenv)$ ipython kernel install --user --name=<any_name_for_kernel>
    (cenv($ conda deactivate

如果重新启动jupyter笔记本/实验室,您将能够看到可用的新内核。

PS:如果您使用的是virtualenv等,则上述步骤很有效。

答案 2 :(得分:5)

我找到了解决方案。位于~/Library/Jupyter/kernels/的内核设置。

然后我修改了kernel.json文件并将正确的路径设置为python。

现在它正在运作。

答案 3 :(得分:3)

不确定还有什么帮助,但对我来说至关重要的是在root conda环境中安装nb_conda_kernels。尝试在特定的conda环境中安装它并不会让Jupyter Notebook能够使用除默认环境之外的其他conda环境。

conda install -n root nb_conda_kernels

jupyter notebook

答案 4 :(得分:1)

这对我有用:

source activate {environment_name}
python -m ipykernel install --user --name={environment_name};

如果未安装ipykernel,请使用以下命令:

conda install -c anaconda ipykernel