Jupyter Notebook 配置使用虚拟环境中(virtualenv) 内核

如何为Jupyter Notebook 配置使用虚拟环境中(virtualenv) 内核

日常使用 Jupyter Notebook 时,我一直依赖宿主机环境进行开发。后来为每个应用virtualenv建立了多套虚拟环境,其中为了隔离 web 开发相关依赖,在D:\play_web目录下创建了独立虚拟环境,但如果我想用jupyter notebook,默认是无法切换和启用虚拟环境的内核的。

经过一番尝试,我找到了一套简单有效的解决方案:通过安装依赖、注册内核,让 Jupyter 支持虚拟环境的自由切换。整个过程步骤清晰,且一次测试成功,现在整理成详细流程,供有类似需求的开发者参考。

核心原理:让 Jupyter "识别" 虚拟环境

Jupyter 本身不直接关联虚拟环境,需借助ipykernel组件搭建 "桥梁"------ipykernel能将虚拟环境的 Python 解释器与 Jupyter 关联,再通过注册操作,将虚拟环境添加到 Jupyter 的内核列表中,最终实现环境切换。

步骤 1:激活目标虚拟环境

所有操作需在虚拟环境中执行,因此第一步需先激活D:\play_web环境(以 Windows 系统为例,CMD 与 PowerShell 命令通用):

  1. 打开命令行工具,进入虚拟环境的Scripts目录:

    cd D:\play_web\Scripts

  2. 执行激活命令:

    activate

  3. 命令行前缀显示(play_web)时,说明虚拟环境已激活,后续操作将基于该环境执行。

步骤 2:安装 ipykernel 依赖

ipykernel是连接虚拟环境与 Jupyter 的核心组件,需在激活的虚拟环境中安装:

复制代码
pip install ipykernel

安装过程无需额外配置,等待终端提示 "Successfully installed" 即完成。若网络较慢,可添加国内镜像源(如-i ``https://pypi.tuna.tsinghua.edu.cn/simple)加速。

步骤 3:注册虚拟环境为 Jupyter 内核

将激活的play_web环境注册到 Jupyter,需指定内核标识与显示名称,方便后续识别:

复制代码
python -m ipykernel install --name play\_web\_kernel --display-name "Python (play\_web)" --user

参数说明:

  • --name:内核的内部标识,建议与虚拟环境名关联(如play_web_kernel),便于后续管理;

  • --display-name:Jupyter 界面中显示的内核名称(如Python (play_web)),需清晰区分不同环境;

  • --user:仅为当前用户注册内核,无需管理员权限,避免权限冲突。

终端提示 "Installed kernelspec play_web_kernel in ..." 时,注册成功。

步骤 4:验证内核配置效果

  1. 启动 Jupyter Notebook(无需激活虚拟环境,直接在命令行执行):

    jupyter notebook

  2. 在 Jupyter 界面中,新建 Notebook 或打开现有文件,点击顶部菜单栏的Kernel → Change Kernel

  3. 下拉列表中若出现 "Python (play_web)",说明配置生效,选择该选项即可切换到虚拟环境。

补充:删除无效内核

若后续需删除已注册的内核,可按以下步骤操作:

  1. 查看所有已注册的内核及标识:

    jupyter kernelspec list

  2. 根据列表中的内核标识(如play_web_kernel),执行删除命令:

    jupyter kernelspec remove play_web_kernel

  3. 输入y确认后,内核即被删除。

相关推荐
w***4819 小时前
Python中的简单爬虫
爬虫·python·信息可视化
z***565610 小时前
【玩转全栈】----Django模板语法、请求与响应
数据库·python·django
voidmort11 小时前
web3.py 简介:面向 Python 开发者的以太坊
开发语言·python·web3.py
后台开发者Ethan11 小时前
LangGraph 的持久化
python·langgraph
油炸小波11 小时前
02-AI应用开发平台Dify
人工智能·python·dify·coze
SunnyDays101112 小时前
从图片到PPT:用Python实现多图片格式(PNG/JPG/SVG)到幻灯片的批量转换
python·图片转ppt·png转ppt·jpg转ppt·svg转ppt·添加图片到ppt
CodeCraft Studio12 小时前
Excel处理控件Aspose.Cells教程:使用Python从Excel工作表中删除数据透视表
开发语言·python·excel·aspose·aspose.cells·数据透视表
普通网友12 小时前
用Python批量处理Excel和CSV文件
jvm·数据库·python
linuxxx11013 小时前
高考志愿填报辅助系统
redis·后端·python·mysql·ai·django·高考
无妄无望13 小时前
ragflow代码学习切片方式(1)docling_parser.py
人工智能·python·学习