我正在努力为使用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
sys.executable
到miniconda 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
。我在哪里可以找到另一个?
我修改了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}"
]
}
所以没有任何改变
答案 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