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/7/22 14:10:12 阅读更多 →
自动化脚本中如何实现定时任务?

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

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

2026/7/22 14:10:12 阅读更多 →
Codebase-Memory:大模型时代AI编程助手的代码记忆优化方案

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

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

2026/7/22 14:09:11 阅读更多 →

最新新闻

【Rust自学】16.2. 使用消息传递来跨线程传递数据

【Rust自学】16.2. 使用消息传递来跨线程传递数据

16.2 使用消息传递来跨线程传递数据 16.2.1. 消息传递 有一种很流行而且能保证安全并发的技术叫做消息传递。在这种机制里,线程(或 Actor)通过彼此间发送消息(数据)来进行通讯。 Go 语言有一句名言是这么说的&#…

2026/7/23 18:59:45 阅读更多 →
[GESP202606 七级] 染色

[GESP202606 七级] 染色

P17014 [GESP202606 七级] 染色 https://www.luogu.com.cn/problem/P17014 GESP7级终于通过啦!! https://www.bilibili.com/video/BV1kKXWYrExs/ GESP七级C历年真题讲解 https://www.bilibili.com/video/BV1Fk2wBxEHm/ 【6月GESP考后大盘点:七…

2026/7/23 18:59:45 阅读更多 →
试了一下 qData 开源版:更像是给数据中台做一次“低成本试跑”

试了一下 qData 开源版:更像是给数据中台做一次“低成本试跑”

最近在看数据中台相关产品,顺手体验了一下 qData 开源版。先说结论:它给我的感觉不是那种只能看概念、看宣传页的产品,而是更适合技术团队拿来做一次数据中台的入门验证。尤其是对于还没正式立项、但已经开始感觉数据管理有点乱的团队来说&am…

2026/7/23 18:59:45 阅读更多 →
计算机毕业设计之在线选课系统

计算机毕业设计之在线选课系统

随着信息化时代的到来,系统管理都趋向于智能化、系统化,在线选课系统也不例外,但目前国内的有些学校仍然都使用人工管理,学校规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化&#…

2026/7/23 18:59:45 阅读更多 →
TI EMAC中断机制深度解析:从寄存器配置到高效ISR实战

TI EMAC中断机制深度解析:从寄存器配置到高效ISR实战

1. 从手册到代码:EMAC中断机制的核心逻辑拆解搞嵌入式网络驱动开发,特别是基于TI这类复杂SoC的,最头疼的往往不是写代码,而是啃那动辄上千页的技术参考手册。手册里寄存器位定义密密麻麻,逻辑关系盘根错节,…

2026/7/23 18:59:45 阅读更多 →
【Rust自学】14.6. 安装二进制crate

【Rust自学】14.6. 安装二进制crate

14.6 安装二进制 crate 14.6.1 从 crates.io 安装二进制 crate 通过 cargo install 命令可以从 crates.io 安装二进制 crate。这并不是为了替换系统包,它应该是 Rust 开发人员安装其他人共享工具的便捷方式。 它的限制是只能安装具有二进制目标(binar…

2026/7/23 18:58:44 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻