69

我正在尝试为使用 python 做一些科学工作创造一个良好的环境。为此,我安装了 Jupyter 和 miniconda。

然后我希望能够拥有不同的环境并将它们与 Jupyter 笔记本一起使用。所以我用 conda 创建了两个自定义环境: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
  • 如何将sys.executablepython2 设置为 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. 我在哪里可以找到另一个?


我修改kernel.json/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}"
 ]
}

接着 :

import sys
print(sys.executable)
/usr/local/opt/python/bin/python2.7

所以一切都没有改变

4

6 回答 6

117

对于 Anaconda,我建议您使用更简单、更合适的解决方案;看看nb_conda_kernels 包

它允许您“在 Jupyter Notebook 中管理基于 conda 环境的内核”。

从 Anaconda 版本 4.1.0 起应该包含它,否则只需使用

conda install nb_conda

现在您应该可以从 Notebook 界面直接管理所有内容了。

于 2016-08-10T18:14:39.237 回答
29

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

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

如果您重新启动 jupyter notebook/lab,您将能够看到可用的新内核。

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

于 2018-11-29T20:00:25.143 回答
10

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

conda install -n root nb_conda_kernels

jupyter notebook
于 2018-06-10T14:25:15.023 回答
6

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

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

现在它正在工作。

于 2016-05-25T11:08:30.330 回答
1

这对我有用:

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

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

conda install -c anaconda ipykernel
于 2020-06-01T10:11:08.960 回答
0

对我有用的是:创建虚拟环境,安装 ipykernel,在 jupyter 内核中注册虚拟环境并加载 jupyter notebook:

$ conda create -n testEnv python=3.6
$ conda activate testEnv
(testEnv)$ conda install ipykernel
(testEnv)$ ipython kernel install --user --name=testEnv
(testEnv)$ jupyter notebook

之后,在 jupyter notebook 中,您应该能够在其他内核列表中找到创建的环境

于 2021-09-21T15:16:49.193 回答