Link Conda environment with Jupyter Notebook
我正在努力为python做一些科学的东西设置一个良好的环境。为此,我安装了Jupyter& miniconda。
然后我希望能够拥有不同的环境,并将它们与Jupyter笔记本一起使用。所以我用conda创建了两个自定义env:py27和py35。
1 2 3 4 5 6 | > conda env list # conda environments: # py27 /Users/***/miniconda3/envs/py27 py35 /Users/***/miniconda3/envs/py35 root * /Users/***/miniconda3 |
然后在我的笔记本上我有两个内核
在笔记本内部,我使用python3内核获得以下内容:
1 2 3 | > import sys > print(sys.executable) /Users/***/miniconda3/envs/py35/bin/python |
这与python2内核:
1 2 3 | > 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:
1 2 3 4 | > where jupyter /usr/local/bin/jupyter /usr/local/bin/jupyter /Users/ThomasDehaeze/miniconda3/bin/jupyter |
我这里只有一个内核
但在Jupyter里面,我有两个内核,
我从
1 2 3 4 5 6 7 8 9 10 11 | { "display_name":"Python 2", "language":"python", "argv": [ "/Users/***/miniconda3/envs/py27/bin/python2.7", "-m", "ipykernel", "-f", "{connection_file}" ] } |
然后 :
1 2 3 | import sys print(sys.executable) /usr/local/opt/python/bin/python2.7 |
所以没有任何改变
对于Anaconda,我建议你一个更容易和更合适的解决方案;
只需看一下nb_conda_kernels包。
它允许您"在Jupyter Notebook中管理基于conda环境的内核"。
自Anaconda版本4.1.0以来应该包括在内,否则只需使用
1 | conda install nb_conda |
现在,您应该能够从Notebook界面直接管理所有目标。
假设您的conda-env名为
1 2 3 4 | $ conda activate cenv (cenv)$ conda install ipykernel (cenv)$ ipython kernel install --user --name= (cenv($ conda deactivate |
如果您重新启动jupyter笔记本/实验室,您将能够看到新内核可用。
PS:如果您正在使用virtualenv等,上述步骤仍然有效。
我找到了解决方案。内核的设置位于此处
然后我修改了
现在它正在运作。
不确定还有什么帮助,但对我来说至关重要的是在root conda环境中安装
1 2 3 | conda install -n root nb_conda_kernels jupyter notebook |