在Jupyter Notebook中使用Conda虚拟环境

概述

Jupyter Notebook是数据科学、机器学习和教学领域中广受欢迎的交互式计算环境。它允许我们创建和共享包含实时代码、方程式、可视化和叙述文本的文档。
Conda则是一个强大的包管理和环境管理系统,能够帮助我们为不同的项目创建隔离的Python环境,避免包版本冲突。

正确地配置Conda环境与Jupyter Notebook的集成,可以带来诸多好处:

复制代码
项目隔离:为每个项目使用独立的环境,确保依赖项的纯净和可复现性

版本控制:轻松管理不同项目可能需要的不同版本的Python或库

避免冲突:防止全局Python环境因包版本不兼容而变得混乱

手动注册内核

要让Jupyter Notebook 能够识别并使用Conda环境,最关键的一步是确保Conda环境中安装了ipykernel包。这个包允许Jupyter将该环境注册为一个可用的内核 (Kernel),也就是手动将每个Conda 环境注册为Jupyter内核。

1.激活Conda环境

打开终端并激活想要使用的Conda环境

bash 复制代码
conda activate <环境名称>

2.安装ipykernel

确保当前Conda环境中安装了ipykernel。如果没有安装,可以运行以下命令安装

bash 复制代码
conda install ipykernel

3.Conda环境注册为Jupyter核

执行以下命令将当前Conda环境添加到 Jupyter Notebook 的 kernel列表中

bash 复制代码
python -m ipykernel install --user --name <内核名称> --display-name "显示名称"
python 复制代码
--user:将内核安装在用户级别,而不是系统级别

--name <内核名称>:内核的内部名称,最好与环境名一致

--display-name "显示名称":在Jupyter Notebook内核菜单中显示的名称。

4.示例

假设有一个名为myenv的Conda环境,并希望在Jupyter Notebook中显示为Python (myenv),可以执行以下命令运行

bash 复制代码
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"

5.启动Jupyter Notebook

bash 复制代码
jupyter notebook

6.选择内核

在Kernel选项中选择添加的Conda环境

7. 检查当前环境

在Jupyter Notebook中可以通过以下代码检查当前环境:

bash 复制代码
import sys
print(sys.executable)

如果输出的Python路径与Conda环境的路径一致,说明环境配置成功。

8.移除Kernel内核

如果不再需要某个Conda环境的kernel,可以使用以下命令移除:

bash 复制代码
jupyter kernelspec uninstall <内核名称>

自动注册内核

自动注册需要使用nb_conda_kernels库,它会自动检测Conda环境,并将它们作为内核显示在Jupyter Notebook 中,无需为每个环境手动配置。

1.安装nb_conda_kernels

确保在启动的Jupyter环境中安装nb_conda_kernels库,以自动支持所有Conda环境内核注册

例如:新建了jupyter环境,并在其中安装了Jupyter Notebook,那么就应该在此环境中安装nb_conda_kernels

python 复制代码
conda activate jupyter 

conda install nb_conda_kernels

2.安装ipykernel

在已存在的conda环境中安装ipykernel

python 复制代码
conda activate my_project_env

conda install ipykernel

3.启动Jupyter Notebook

Jupyter Notebook启动后,nb_conda_kernels会负责发现其他含有ipykernel的环境,并自动将环境注册到Jupyter的内核中

python 复制代码
jupyter notebook

4.选择内核

在Kernel选项中选择添加的Conda环境

5.nb_conda_kernels工作原理

nb_conda_kernels通过扫描Conda环境目录 (通常是anaconda3/envs/ 或 miniconda3/envs/),寻找那些安装了 ipykernel 的环境,并自动为Jupyter生成相应的内核规范 (kernelspec) 文件。这使得我们无需为每个环境手动执行ipykernel install

相关推荐
蒋星熠2 分钟前
中间件架构设计与实践:构建高性能分布式系统的核心基石
开发语言·数据库·分布式·python·中间件·性能优化·硬件工程
海天一色y3 小时前
Pycharm(二十一)递归删除文件夹
ide·python·pycharm
乔巴先生248 小时前
LLMCompiler:基于LangGraph的并行化Agent架构高效实现
人工智能·python·langchain·人机交互
张子夜 iiii9 小时前
实战项目-----Python+OpenCV 实现对视频的椒盐噪声注入与实时平滑还原”
开发语言·python·opencv·计算机视觉
困鲲鲲10 小时前
Flask 核心基础:从 路由装饰器 到 __name__ 变量 的底层逻辑解析
python·flask
njxiejing10 小时前
Python NumPy安装、导入与入门
开发语言·python·numpy
Rhys..10 小时前
Python&Flask 使用 DBUtils 创建通用连接池
开发语言·python·mysql
Just_Paranoid10 小时前
【Python Tkinter】图形用户界面(GUI)开发及打包EXE指南
python·gui·tkinter·pyinstaller
小宁爱Python11 小时前
Django 基础入门:命令、结构与核心配置全解析
后端·python·django
闲人编程12 小时前
Flask 前后端分离架构实现支付宝电脑网站支付功能
python·架构·flask·支付宝·前后端·网站支付·apl