写在前面:
很多新手在使用Jupyter Notebook时,都会遇到"环境混乱"的问题------所有包都装在base环境,导致版本冲突、运行报错。本文手把手教你用Anaconda命令行,创建全新的Python虚拟环境并部署到Jupyter Notebook中。
适用场景:Python项目开发、数据分析、机器学习(避免不同项目包版本冲突)
环境前提:已安装Anaconda(Windows/macOS/Linux通用,无版本限制)
一、准备工作
1、打开Anaconda终端
-
Windows系统:开始菜单搜索「Anaconda Prompt (Anaconda3)」,双击打开**(注意:不是CMD命令提示符,也不是PowerShell)**
-
macOS/Linux系统:打开系统自带终端,输入**
conda --version**,能显示conda版本(如conda 23.10.0),说明conda可用
2、重要提醒
全程不要关闭终端,一步一步执行,避免中途中断导致配置失败。
二、完整实操步骤
1、创建Python虚拟环境
首先创建一个专属虚拟环境,环境名可自定义(本文用 jupyter_env为例)。
复制以下命令,粘贴到Anaconda终端,回车执行:
conda create -n jupyter_env python=3.10 -y
-
conda create:Anaconda创建虚拟环境的核心命令 -
-n jupyter_env:-n是「name」的缩写,后面跟虚拟环境的名字(可自定义) -
python=3.10:指定虚拟环境的Python版本(可替换为3.8、3.9、3.11等) -
-y:自动同意所有安装提示(不用手动输入y确认,省事高效)
执行成功后,终端会显示「done」,说明虚拟环境创建完成。

2、激活创建的虚拟环境
虚拟环境创建后,需要激活才能使用,复制以下命令,粘贴执行:
conda activate jupyter_env
验证激活成功:终端提示符前面会出现「(jupyter_env)」,比如:
(jupyter_env) C:\Users\XXX> (Windows)
(jupyter_env) XXX@XXX ~ % (macOS/Linux)

如果没出现,重新执行激活命令,确保环境名和创建时一致。
3、安装Jupyter内核依赖
激活虚拟环境后,需要安装「ipykernel」包------这是连接虚拟环境和Jupyter Notebook的核心依赖,复制命令执行:
conda install ipykernel -y
备选方案(如果conda安装失败):用pip安装,复制以下命令:
pip install ipykernel
安装成功后,终端会显示「done」,无需额外操作。

4、将虚拟环境注册到Jupyter Notebook
这一步是让Jupyter Notebook"识别"到我们创建的虚拟环境,复制以下命令:
python -m ipykernel install --user --name jupyter_env --display-name "Python (jupyter_env)"
-
python -m ipykernel install:注册Jupyter内核的核心命令 -
--user:仅当前用户可用,无需管理员权限(避免权限报错) -
--name jupyter_env:必须和步骤1创建的虚拟环境名一致(否则注册失败) -
--display-name "Python (jupyter_env)":Jupyter界面中显示的环境名称(可自定义,比如改为"Python 3.10-项目1")
执行成功后,终端会显示「Installed kernelspec jupyter_env in ...」,说明注册成功。

5、启动Jupyter Notebook,使用虚拟环境
注册完成后,启动Jupyter Notebook,复制命令执行:
jupyter notebook

执行后,会自动打开浏览器,进入Jupyter Notebook界面(默认地址:http://localhost:8888/),使用虚拟环境的步骤:
-
点击右上角「New」按钮,下拉菜单中选择「Python (jupyter_env)」(就是我们注册时的display-name)
-
新建的Notebook,右上角会显示「Python (jupyter_env)」,说明当前使用的是我们创建的虚拟环境
-
测试:在Notebook中输入
import sys; print(sys.version),运行后会显示Python 3.10.x(和我们创建环境时指定的版本一致),说明配置成功!



三、核心优势对比:注册内核 vs 每个conda环境安装Jupyter
💡很多人会有疑问:为什么不直接在每个conda虚拟环境中,都安装Jupyter(命令:conda install jupyter -y),反而要多一步"注册内核"的操作?其实两种方法都能实现虚拟环境与Jupyter的关联,但本文推荐的「注册内核」方法,在实用性、效率和资源占用上有明显优势,下面详细对比两者差异,并拆解「注册内核」的核心好处。
1、核心区别
| 对比维度 | 本文推荐:注册内核(安装ipykernel+注册) | 替代方法:每个环境安装Jupyter |
|---|---|---|
| 核心操作 | 仅在base环境装Jupyter,其他环境装ipykernel并注册 | 每个虚拟环境都单独安装完整Jupyter(含notebook、lab等组件) |
| 资源占用 | 极低,仅占用ipykernel(几十MB) | 极高,每个环境重复安装Jupyter全套组件(几百MB/环境) |
| 启动方式 | 任意环境(或base环境)启动Jupyter,统一管理所有内核 | 必须激活对应环境,才能启动该环境的Jupyter,切换繁琐 |
| 版本一致性 | Jupyter版本统一(base环境控制),无兼容性问题 | 每个环境Jupyter版本可能不同,易出现版本冲突、功能不一致 |
| 管理难度 | 统一管理所有内核,新增/删除环境仅需注册/删除内核 | 每个环境单独管理Jupyter,升级、卸载需逐个操作 |
2、注册内核方法的详细好处
好处1:大幅节省磁盘空间,避免资源浪费
这是最直观的优势。完整的Jupyter套件(含notebook、jupyter-core、nbconvert等组件)安装后,占用磁盘空间约300-500MB。如果我们创建5个虚拟环境,若每个环境都安装Jupyter,仅Jupyter组件就会占用1.5-2.5GB空间;而本文的方法,仅需在base环境安装1次Jupyter,其他环境仅安装ipykernel(约50MB),5个环境仅多占用250MB左右,相当于节省了90%以上的空间。
对于磁盘空间紧张的电脑(如笔记本),这种方法能有效减少冗余文件,避免因环境过多导致磁盘满溢。
好处2:启动便捷,无需反复切换环境
如果采用"每个环境装Jupyter"的方法,想要使用某个环境的Jupyter,必须先激活该环境(如conda activate env1),再执行jupyter notebook;切换到另一个环境(如env2),需要先退出当前环境(conda deactivate),再激活env2,重新启动Jupyter,操作繁琐且耗时。
而注册内核的方法,只需在任意环境(甚至base环境)执行jupyter notebook,启动后在界面中直接切换内核(虚拟环境)即可,无需反复启动/关闭Jupyter,大幅提升实操效率,尤其适合同时开发多个项目、频繁切换环境的场景。
好处3:避免版本冲突,提升稳定性
Jupyter本身会依赖特定版本的Python和相关组件,若每个虚拟环境都单独安装Jupyter,可能出现"环境A的Jupyter是6.5版本,环境B的Jupyter是7.0版本"的情况。不同版本的Jupyter在功能、界面、兼容性上可能存在差异,容易出现"在环境A能正常运行的Notebook,在环境B打开报错""内核连接失败"等问题。
注册内核的方法,仅在base环境安装1次Jupyter,所有虚拟环境共享同一个Jupyter界面和核心组件,仅通过ipykernel调用不同环境的Python解释器,从根源上避免了Jupyter版本冲突,确保Notebook在不同环境间的兼容性和运行稳定性。
好处4:统一管理,降低维护成本
当需要升级Jupyter版本时,"每个环境装Jupyter"的方法需要逐个激活环境,执行conda update jupyter,若环境较多,操作非常繁琐;而注册内核的方法,只需在base环境执行1次升级命令,所有虚拟环境就能共享升级后的Jupyter功能,无需逐个操作。
此外,删除虚拟环境时,只需先删除对应的Jupyter内核(jupyter kernelspec remove 环境名),再删除conda环境即可,不会留下冗余的Jupyter组件;而"每个环境装Jupyter"的方法,删除环境后,可能残留Jupyter相关的配置文件,长期积累会导致系统混乱。
四、常用管理命令
后续需要管理虚拟环境或Jupyter内核,直接复制以下命令即可:
# 1. 查看所有Anaconda虚拟环境(确认环境是否存在)
conda env list
# 2. 查看Jupyter已注册的所有内核(确认环境是否注册成功)
jupyter kernelspec list
# 3. 删除不需要的Jupyter内核(比如删除jupyter_env内核)
jupyter kernelspec remove jupyter_env
# 4. 删除整个Anaconda虚拟环境(彻底删除,谨慎使用)
conda remove -n jupyter_env --all -y
# 5. 退出当前虚拟环境(回到base环境)
conda deactivate
五、常见问题解决
💡问题1:启动Jupyter后,找不到注册的虚拟环境?
解决方案:关闭Jupyter(终端按Ctrl+C,输入y确认关闭),重新执行 jupyter notebook 即可,大概率是Jupyter未刷新内核列表。
💡问题2:注册内核时提示"Permission denied"(权限不足)?
解决方案:命令中一定要加 --user 参数(本文命令已包含),无需以管理员身份打开终端,加了该参数后,仅当前用户可用,避免权限报错。
💡问题3:内核注册成功,但Jupyter中运行代码报错?
解决方案:重新激活虚拟环境,重装ipykernel后重新注册,命令如下(复制执行):
conda activate jupyter_env
conda install ipykernel -y
python -m ipykernel install --user --name jupyter_env --display-name "Python (jupyter_env)" --force
注意:最后加了 --force 参数,强制覆盖原有内核,解决注册不完整的问题。
欢迎交流!🌹🌹