我正在努力为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 2
和 python 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里面,我有两个内核, python2
和 python3
. 我在哪里可以找到另一个?
我从 /usr/local/share/jupyter/kernels/python2
修改了 kernel.json
:
{
"display_name": "Python 2",
"language": "python",
"argv": [
"/Users/***/miniconda3/envs/py27/bin/python2.7",
"-m",
"ipykernel",
"-f",
"{connection_file}"
]
}
然后 :
import sys
print(sys.executable)
/usr/local/opt/python/bin/python2.7
所以没有任何改变
4 回答
对于Anaconda,我建议你一个更容易和更合适的解决方案;只是看看nb_conda_kernels package .
它允许您“在Jupyter Notebook中管理基于conda环境的内核” .
自Anaconda版本4.1.0以来应该包括在内,否则只需使用
现在,您应该能够从Notebook界面直接管理所有目标 .
我找到了解决方案 . 内核的设置位于此处
~/Library/Jupyter/kernels/
.然后我修改了
kernel.json
文件并将正确的路径设置为python .现在它正在运作 .
不知道还有什么帮助,但对我来说至关重要的是在root conda环境中安装
nb_conda_kernels
. 尝试在特定的conda环境中安装它并没有让Jupyter Notebook能够使用除默认环境之外的其他conda环境 .假设您的conda-env名为
cenv
,它就像:如果重新启动jupyter笔记本/实验室,您将能够看到新内核可用 .
PS:如果您使用virtualenv等,上述步骤仍然有效 .