Jupyter 添加虚拟环境 Kernel 笔记
一、如何将虚拟环境添加到 Jupyter在实际开发中经常会遇到这样的情况Jupyter Notebook 安装在 base 环境中项目依赖安装在独立虚拟环境中例如base环境 │ └── jupyter notebook langchain环境 │ ├── python ├── langchain └── 其他依赖希望实现使用 base 环境中的 Jupyter但是运行 langchain 环境中的代码。1. 进入目标虚拟环境首先进入需要添加到 Jupyter 的环境conda activate langchain此时后续操作都会针对 langchain 环境。2. 安装 ipykernel执行pip install ipykernel作用让这个 Python 环境具备作为 Jupyter Kernel 的能力。3. 注册 Kernel执行python -m ipykernel install --user --name langchain --display-name Python(langchain)其中--name langchain表示 Kernel 的内部名称。--display-name Python(langchain)表示 Jupyter 界面中显示的名称。--user表示将 Kernel 配置写入当前用户的 Jupyter 配置目录。4. 查看是否注册成功执行jupyter kernelspec list如果出现Available kernels: python3 langchain说明注册成功。之后打开 NotebookKernel ↓ Python(langchain)即可使用该环境。二、为什么 Jupyter 在 base 环境却能使用其他环境这里需要理解 Jupyter 的运行机制。很多人的误解Jupyter安装在哪里 ↓ 只能使用哪里的Python实际上不是。Jupyter 本身不负责执行 Python 代码。它主要负责提供 Notebook 页面管理代码单元管理 Kernel真正执行代码的是 Kernel。整体结构浏览器 | | Jupyter Server | | Kernel | | Python解释器所以base 中的 Jupyter 只是管理端。真正运行代码的是被选择的 Kernel。三、ipykernel 注册到底做了什么执行python -m ipykernel install --user ...并不会复制整个虚拟环境。它主要生成一个 Kernel 配置文件。例如 WindowsC:\Users\用户名\AppData\Roaming\jupyter\kernels\langchain里面有kernel.json内容类似{ argv: [ D:\\anaconda3\\envs\\langchain\\python.exe, -m, ipykernel_launcher ], display_name: Python(langchain) }其中最重要的是D:\anaconda3\envs\langchain\python.exe它告诉 Jupyter当用户选择 Python(langchain) 时启动这个 Python。四、为什么 base 的 Jupyter 能找到这个环境因为注册时使用了--user它写入的是当前操作系统用户的 Jupyter 配置目录。例如C:\Users\用户名\AppData\Roaming\jupyter\kernels这个目录中保存有哪些 KernelKernel 名称启动命令对应 Python 路径当你启动(base) jupyter notebookJupyter 会扫描这些目录。发现kernels └── langchain └── kernel.json于是显示Python(langchain)五、Kernel 和虚拟环境的区别需要注意Kernel 不等于虚拟环境。二者关系虚拟环境 langchain ├── python.exe ├── numpy ├── torch └── langchain Kernel kernel.json 记录 使用哪个python 如何启动 显示什么名字可以理解为虚拟环境提供运行代码的实际环境Kernel告诉 Jupyter 如何连接这个环境关系Jupyter | | Kernel(ipykernel) | | Python虚拟环境 | | 第三方库六、进一步理解1. 一个虚拟环境可以有多个 Kernel例如同一个环境langchain环境 python.exe注册Kernel A Kernel B那么 Jupyter 中可能出现Python(实验A) Python(实验B)但是两个 Kernel 都可能指向langchain/python.exe所以一个环境可以对应多个 Kernel。2. 一个 Kernel 也不一定对应虚拟环境Kernel 可以指向系统 PythonC:\Python311\python.exe也可以指向conda 环境D:\anaconda3\envs\langchain\python.exe所以Kernel 本质是一个启动配置而不是一个完整运行环境。七、最终总结添加 Jupyter 环境的核心流程创建虚拟环境 ↓ 安装 ipykernel ↓ 注册 Kernel ↓ 生成 kernel.json 配置文件 ↓ Jupyter扫描配置 ↓ 选择对应 Kernel 执行代码核心思想虚拟环境负责提供 Python 解释器和依赖Kernel 负责连接 Jupyter 和这个 Python 环境。Jupyter 通过扫描 Kernel 配置文件找到并启动对应的 Python。因此Jupyter(base) | | Kernel(langchain) | | langchain虚拟环境这就是为什么一个安装在 base 环境的 Jupyter可以同时管理多个不同的 Python 环境。

相关新闻

智能驾驶HIL仿真系统测试流程

智能驾驶HIL仿真系统测试流程

1 工作程序1.1交付前准备1.1.1智驾HIL测试风险预警机制建立针对可能影响智驾HIL测试任务交付质量与进度的各类风险因素,提前开展预警识别和防范管控。若因不可抗力因素(如自然灾害、核心设备突发故障、关键仿真模型数据源中断等)导致智驾HIL测…

2026/10/26 4:41:28 阅读更多 →
自动化脚本中如何实现定时任务?

自动化脚本中如何实现定时任务?

在编写自动化脚本的过程中,定时执行任务是一个极其常见且核心的需求。无论是每日的自动打卡、定时的数据采集,还是周期性的应用巡检,都离不开可靠的定时调度能力。冰狐智能辅助平台为开发者提供了多种实现定时任务的技术路径,涵盖…

2026/10/28 18:16:37 阅读更多 →
Codebase-Memory:大模型时代AI编程助手的代码记忆优化方案

Codebase-Memory:大模型时代AI编程助手的代码记忆优化方案

1. 项目背景与核心价值Codebase-Memory这个开源项目最近在开发者社区引发了广泛讨论,它解决了大模型时代一个非常实际的痛点:如何让AI编程助手(Agent)更高效地理解你的代码库。传统方式下,每次与AI对话都需要重新上传或…

2026/11/1 20:14:12 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/3 1:09:25 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/2 10:46:11 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/2 10:47:40 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/3 2:27:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/2 10:46:31 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/2 10:46:26 阅读更多 →

日新闻

周新闻

月新闻