如何为jupyter实验室添加conda环境

Sta*_*ean 26 python anaconda jupyter-notebook jupyter-lab

我正在使用jupyter实验室,我无法添加conda环境.我的想法是从我的基础环境中启动jupyter实验室,然后能够选择我的其他conda envs作为内核.

我安装了nb_conda_kernels软件包,这应该是这样做的,但它不能按我的意愿工作.实际上,让我们假设我创建了一个新的conda环境,然后我从基础启动jupyter实验室,我无法将新环境视为可用内核.

我找到了一个"修复",它每次都有效,但根本不方便.如果我在我的新环境中安装jupyter笔记本,那么从这个新环境启动一个jupyter笔记本,关闭它,返回基础环境,然后从基础环境启动jupyter lab,我的新环境可以作为jupyter实验室的内核使用.

如果你知道如何在没有这个"修复"的情况下使它工作,我将非常感激.

Nih*_*eth 57

假设你的conda-env被命名cenv,它就像这样简单:

$ conda activate cenv
(cenv)$ conda install ipykernel
(cenv)$ ipython kernel install --user --name=<any_name_for_kernel>
(cenv($ conda deactivate
Run Code Online (Sandbox Code Playgroud)

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

PS:如果您使用virtualenv等,上述步骤仍然有效.

  • 为什么 jupyter lab 不像 jupyter Notebook 那样继承环境?无论如何,这解决了我的问题,所以谢谢你。 (6认同)
  • 我指导人们在使用tensorflow环境在jupyter实验室/笔记本中工作时遇到困难,以解决这个问题。它为我工作。谢谢。 (5认同)
  • 虽然这是一个有效的答案,但我仍然推荐使用“nb_conda_kernels”方法,因为它避免了容易出错的手动注册步骤。 (3认同)
  • 我只想补充一点,一旦您拥有新内核,请转到您的 jupyter 笔记本,然后在“内核”下,选择“更改内核”到您新创建的内核。一旦到达那里,如果您的环境是张量流环境,您可以使用诸如 import tensorflow as tf 之类的东西。我还向人们推荐从 jupyter 进入张量流环境的人。我将有关此问题的多个问题重定向到此处。 (2认同)
  • @merv仅供参考:`nb_conda_kernels`很糟糕,请参阅:https://github.com/Anaconda-Platform/nb_conda_kernels/issues/216。(这个问题已经悬而未决一年了,没有人对此负责。) (2认同)

Sta*_*ean 32

使用nb_conda_kernels. 首先,将其安装在您的基本环境中:

(base)$ conda install -c conda-forge nb_conda_kernels
Run Code Online (Sandbox Code Playgroud)

然后为了获得 conda_env 的内核cenv

$ conda activate cenv
(cenv)$ conda install ipykernel
(cenv)$ conda deactivate
Run Code Online (Sandbox Code Playgroud)

您将Python [conda env:cenv]在下一次运行jupyter lab/ 时获得一个新内核jupyter notebook

注意:如果您已经安装nb_conda_kernels,并且想要创建一个新的 conda 环境并立即访问它,那么

conda create -n new_env_name ipykernel
Run Code Online (Sandbox Code Playgroud)

会做的工作。

  • @sappjw 接受的答案有效,但这个缺少 `$ ipython kernel install --user --name=&lt;any_name_for_kernel&gt;` 并且在我这样做之前没有看到新内核 (3认同)
  • 遗憾的是,这似乎不起作用(jupyter lab version 1.1.4 with python 3.7.4) - 使用上面接受的答案来安装内核。 (2认同)
  • @merv 当我在任何地方找到你的评论时,我立即知道我可能走在正确的轨道上,谢谢!不过 GitHub 上好像`nb_conda_kernels`项目已经废弃了? (2认同)

Dan*_*edo 13

我尝试了上述两种解决方案,但它们对我来说并不完全有效。然后我遇到了这篇解决它的中等文章:https : //medium.com/@jeremy.from.earth/multiple-python-kernels-for-jupyter-lab-with-conda-c67e50de3aa3

从本质上讲,运行后conda install ipykernel里面你的cenv环境中,它也很好地运行python -m ipykernel install --user --name cenv的内cenv环境-这样,我们确保其在jupyter环境中使用的Python版本是那个在cenv。干杯!

  • 当其他一切都失败时,这对我有用。谢谢!仍然不清楚为什么 nb_conda_kernels 似乎不再自动为我完成这项工作。请注意,根据我的经验,如果您在基础环境中安装了 ipykernel、jupyterlab 和 nb_conda_kernels 并从基础环境中启动 JupyterLab,则很可能会奇怪地看到所有可用的 conda 内核。 (2认同)

小智 7

我也无法让 conda 环境出现在 jupyter 实验室中,对我来说只能这样:(假设上面的“cenv”作为环境名称)

  1. conda activate cenv
  2. conda install ipykernel
  3. python -m ipykernel install --user --name=cenv