我正在使用 Jupyter Lab,但无法添加 conda
环境。这个想法是从我的基础环境启动 Jupyter Lab,然后能够选择我的其他 conda envs 作为内核。
我安装了应该这样做的软件包 nb_conda_kernels
,但它没有按我的意愿工作。事实上,假设我创建了一个新的 Conda 环境,然后从基础启动 jupyter lab,我无法将新环境视为可用内核。
我找到了一个“修复”,它每次都有效,但一点也不方便。如果我在我的新环境中安装 Jupyter Notebook,然后从这个新环境启动一个 Jupyter Notebook,关闭它,回到基础环境,然后从基础环境启动 Jupyter Lab,我的新环境在 Jupyter Lab 中作为内核可用。
如果您知道如何在没有此“修复”的情况下使其工作,我将不胜感激。
假设您的 conda-env 名为 cenv
,它很简单:
$ conda activate cenv # . ./cenv/bin/activate in case of virtualenv
(cenv)$ conda install ipykernel
(cenv)$ ipython kernel install --user --name=<any_name_for_kernel>
(cenv)$ conda deactivate
如果您重新启动 jupyter notebook/lab,您将能够看到可用的新内核。对于较新版本的 jupyter 内核将出现而无需重新启动实例。只需按 F5 刷新即可。
PS:如果您使用的是 virtualenv 等,上述步骤很好。
使用 nb_conda_kernels
的解决方案。首先,将其安装在您的基础环境中:
(base)$ conda install -c conda-forge nb_conda_kernels
然后为了获得 conda_env cenv
的内核:
$ conda activate cenv
(cenv)$ conda install ipykernel
(cenv)$ conda deactivate
您将在下次运行 jupyter lab
/ jupyter notebook
时获得一个名为 Python [conda env:cenv]
的新内核
注意:如果您已安装 nb_conda_kernels
,并希望创建一个新的 conda 环境并立即访问它
conda create -n new_env_name ipykernel
将完成这项工作。
$ ipython kernel install --user --name=<any_name_for_kernel>
并且在我这样做之前没有看到新内核
ipython kernel install line
变得不必要
我尝试了上述两种解决方案,但它们并不适合我。然后我遇到了解决它的这篇中等文章:https://medium.com/@jeremy.from.earth/multiple-python-kernels-for-jupyter-lab-with-conda-c67e50de3aa3
本质上,在 cenv
环境中运行 conda install ipykernel
之后,在 cenv
环境中运行 python -m ipykernel install --user --name cenv
也很好 - 这样,我们确保在 jupyter 环境中使用的 python 版本是cenv
中的那个。干杯!
~/.local/share/jupyter/kernels/
中的其他现有 conda env 进一步调整生成的 kernel.json
nb_conda_kernels
方法,它会自动检测安装了 ipykernel
(或其他特定语言的内核包)的任何环境。
以下对我有用
pip install nb_conda
https://github.com/Anaconda-Platform/nb_conda
ERROR: No matching distribution found for nb_conda
conda install nb_conda
安装它
不定期副业成功案例分享
nb_conda_kernels
方法,因为它避免了容易出错的手动注册步骤。