在 Python 的 venv
虚拟环境中运行一个简单的 Jupyter Notebook,你可以按照以下步骤操作:
✅ 一、创建并激活 venv 环境
1 | # 创建虚拟环境(如:venv) |
✅ 二、安装 Jupyter Notebook(或 JupyterLab)
1 | pip install notebook # 经典 Notebook |
✅ 三、安装内核(可选,但推荐)
安装 ipykernel
,并将当前 venv 注册为一个内核:
1 | pip install ipykernel |
这样你在 Jupyter 中就能看到 Python (venv)
内核选项。
✅ 四、启动 Notebook 服务
1 | jupyter notebook |
启动后会自动打开浏览器页面,你就可以新建 notebook 并运行 Python 代码了。
✅ 五、验证环境是否正确
在 Notebook 新建一个 Cell,输入:
1 | !which python # macOS/Linux |
输出路径应指向你的虚拟环境中的 Python,例如:
1 | /path/to/venv/bin/python |
安装 ipykernel 并注册当前虚拟环境为 Jupyter 内核的意义
Jupyter 是独立于虚拟环境运行的;
虽然你在命令行激活了 venv,但 Jupyter 不知道你用了哪个环境;
安装 ipykernel 并注册后,Jupyter 就能识别你这个虚拟环境,才能在 notebook 里正确地运行、加载库,否则 notebook 会“用错解释器”。
用更通俗直白的方式解释一下:
🌰 场景比喻:Jupyter 是饭店,venv 是你的家
- Jupyter Notebook 就像一个饭店,你进去可以点菜(写代码)。
- 但这个饭店默认只认识“官方菜单”(系统 Python 环境)。
- 你有一个特别定制的菜单(比如你家厨房安装了特殊库:
pandas==1.5.3
、numpy==1.19
),这个菜单在 虚拟环境 venv 里。 - 如果你不告诉饭店你有这个菜单,Jupyter 是看不到你 venv 里的东西的,也就没法给你做这顿饭。
💡 为什么要安装 ipykernel
并注册?
安装
ipykernel
就是 让你的厨房能与饭店通讯;注册内核就是 告诉饭店“这是我家的菜单”,你以后可以选用它来做菜。
换句话说:
- Jupyter 是独立于虚拟环境运行的;
- 虽然你在命令行激活了 venv,但 Jupyter 不知道你用了哪个环境;
- 安装
ipykernel
并注册后,Jupyter 就能识别你这个环境,才能在 notebook 里正确地运行、加载库。
🎯 举个真实用例(最常见的情况):
你有两个项目:
项目名 | 虚拟环境 | 依赖库 |
---|---|---|
项目 A | venv_a |
pandas==1.5 |
项目 B | venv_b |
pandas==2.2 |
如果你不给这两个环境注册内核,打开 Jupyter 后,它只认识一个系统环境,运行 notebook 时:
- 项目 A 的代码报错(因为系统里是 2.2,不兼容)
- 项目 B 的 notebook 运行错地方(因为 Jupyter 根本没用你的 venv)
你就会很抓狂。
✅ 安装并注册后:
你打开 Jupyter,左上角就能选择内核,能看到这些选项:
- Python 3 (系统默认)
- Python (venv_a)
- Python (venv_b)
这时你就能根据项目自由选择对应的环境,确保运行正确的依赖。
🔚 总结一句话:
安装
ipykernel
并注册内核,就是 让你的虚拟环境能被 Jupyter Notebook 正确识别和使用,否则 notebook 会“用错解释器”。