可以指定 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

相关推荐
测试19984 小时前
软件测试 - 单元测试总结
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
曲幽7 小时前
我用了FastApiAdmin后,连夜把踩过的坑都整理出来了
redis·python·postgresql·vue3·fastapi·web·sqlalchemy·admin·fastapiadmin
魏杨杨7 小时前
一个程序员眼中的 AI 核心概念,讲透 LLM 、Agent 、MCP 、Skill 、RAG...
ai·.net·agent·claude code
前端若水8 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
冬奇Lab9 小时前
让 AI Agent 更可靠:Harness Engineering 与多 Agent 系统工程实践
人工智能·llm·agent
涛声依旧-底层原理研究所9 小时前
残差连接与层归一化通俗易懂的详解
人工智能·python·神经网络·transformer
csdn_aspnet9 小时前
Python 算法快闪 LeetCode 编号 70 - 爬楼梯
python·算法·leetcode·职场和发展
fantasy_arch10 小时前
pytorch人脸匹配模型
人工智能·pytorch·python
熊猫_豆豆10 小时前
广义相对论水星近日点进动完整详细数学推导
python·天体·广义相对论
web3.088899910 小时前
1688 图搜接口(item_search_img / 拍立淘) 接入方法
开发语言·python