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确认后,内核即被删除。

相关推荐
柳鲲鹏40 分钟前
地图影像匹配:基于特征匹配的视觉定位2,python
开发语言·python
yunhuibin2 小时前
LeNet
人工智能·python
jaray8 小时前
PyCharm 2024.3.2 Professional 如何更换 PyPI 镜像源
ide·python·pycharm·pypi 镜像源
Psycho_MrZhang8 小时前
Neo4j Python SDK手册
开发语言·python·neo4j
web3.08889999 小时前
1688图片搜索API,相似商品精准推荐
开发语言·python
少云清9 小时前
【性能测试】15_JMeter _JMeter插件安装使用
开发语言·python·jmeter
光羽隹衡9 小时前
机器学习——TF-IDF实战(红楼梦数据处理)
python·tf-idf
2401_8948281210 小时前
从原理到实战:随机森林算法全解析(附 Python 完整代码)
开发语言·python·算法·随机森林
B站计算机毕业设计超人10 小时前
计算机毕业设计Python知识图谱中华古诗词可视化 古诗词情感分析 古诗词智能问答系统 AI大模型自动写诗 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·人工智能·hadoop·python·机器学习·知识图谱·课程设计
玄同76510 小时前
Python「焚诀」:吞噬所有语法糖的终极修炼手册
开发语言·数据库·人工智能·python·postgresql·自然语言处理·nlp