可以指定 Jupyter Notebook 使用的虚拟环境吗

最近在使用jupyter notebook的过程中,总是对一个问题感到疑惑:当前的代码跑在哪个环境下啊? 接下来我一步一步来记录下,我是如何确定的,大家一起讨论下吧。

首先我先创建一个虚拟环境

ini 复制代码
conda create -n langchain_learn python=3.10

我创建了一个名为langchain_learn的虚拟环境,专门用来学习langchain。创建完毕后控制台会提示,创建成功,你可以选择激活这个环境

激活环境

可以先执行

bash 复制代码
conda env list

来看一下目前创建的所有虚拟环境。

然后执行 如下命令 来激活langchain_learn环境

复制代码
conda activate langchain_learn

查看当前环境的安装的包

激活环境之后,执行conda list 可以列出目前环境的所有包,我们发现默认新建的环境并没有jupyter notebook

不过没有关系 我们的全局环境是安装了jupyter的。依旧可以使用jupyter来创建notebook。但是在创建笔记之前,我们要了解一个内核的概念

jupyter 内核

那么啥是内核呢?说人话就是如果你在笔记里的cell中写的代码要能够执行,就需要一个内核,它是用来负责真正执行代码的。

打比方来说:

如果你的内核使用的 Python 环境里没有安装 pandas,那你运行 import pandas 就会报错,即使另一个环境有也不行。

那么内核和虚拟环境的关系

  • 你注册的每一个内核都绑定到某个特定的 Python 环境(可以是 conda 环境、venv 虚拟环境、系统 Python 等)。

如何注册内核呢

是你(用户)把一个 Python 环境「注册」为 Jupyter 的一个内核。

你基于一个已有的 Python 环境,创建了一个 Jupyter 内核(即一组配置文件),让 Jupyter 知道:'哦,我可以在需要时启动这个环境来运行代码'。

注册命令如下:

scss 复制代码
python -m ipykernel install --name langchain_learn --display-name "Python (langchain_learn)"

但是前提是你需要先安装 ipykernel 否则会报错

复制代码
conda install ipykernel
r 复制代码
(F:\anaconda_env\langchain_learn) F:\jupyter_notebook>python -m ipykernel install --name langchain_learn --display-name "Python (langchain_learn)"
Installed kernelspec langchain_learn in F:\anaconda_env\langchain_learn\share\jupyter\kernels\langchain_learn

查看当前jupyter支持的内核列表

jupyter kernelspec list

所以内核就是一个配置文件:

打开kernel.json 发现它指向的是你那个 conda 环境中的 python

相关推荐
曲幽1 天前
数据库实战:FastAPI + SQLAlchemy 2.0 + Alembic 从零搭建,踩坑实录
python·fastapi·web·sqlalchemy·db·asyncio·alembic
字节架构前端1 天前
Skill再回首—深度解读Anthropic官方最新Skill白皮书
人工智能·agent·ai编程
AI-Frontiers1 天前
收藏!AI代理全家桶:MCP/Skills/Agent /OpenClaw,原理+操作指南一步到位
agent
吴佳浩1 天前
OpenClaw macOS 完整安装与本地模型配置教程(实战版)
人工智能·macos·agent
用户8356290780511 天前
Python 实现 PowerPoint 形状动画设置
后端·python
吴佳浩1 天前
OpenClaw 2026.3.2 — 2026.3.8 权限变更与安全加固
人工智能·openai·agent
量子位1 天前
科研AI出了个狠角色:开源30B小模型,硬刚Gemini和Claude
llm·claude·gemini
量子位1 天前
卡帕西开源Agent自进化训练框架,5分钟一轮实验,48h内揽星9.5k
aigc·agent
ponponon1 天前
时代的眼泪,nameko 和 eventlet 停止维护后的项目自救,升级和替代之路
python
Flittly1 天前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(5)Skills (技能加载)
python·agent