Anaconda命令行配置Jupyter Notebook虚拟环境

写在前面:

很多新手在使用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/),使用虚拟环境的步骤:

  1. 点击右上角「New」按钮,下拉菜单中选择「Python (jupyter_env)」(就是我们注册时的display-name)

  2. 新建的Notebook,右上角会显示「Python (jupyter_env)」,说明当前使用的是我们创建的虚拟环境

  3. 测试:在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 参数,强制覆盖原有内核,解决注册不完整的问题。


欢迎交流!🌹🌹

相关推荐
极光代码工作室2 小时前
基于机器学习的信用卡欺诈检测系统设计
人工智能·python·深度学习·机器学习
迷藏4942 小时前
**超融合架构下的Go语言实践:从零搭建高性能容器化微服务集群**在现代云原生时代,*
java·python·云原生·架构·golang
深度学习lover2 小时前
<数据集>yolo 船舶识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·船舶分类识别
测试秃头怪2 小时前
Python+selenium搭建Web自动化测试框架
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
Irene19912 小时前
PyCharm 改字体大小
python·pycharm
昆曲之源_娄江河畔2 小时前
婴儿版GPT
python·gpt·ai·transformer
无边风月-风之羽翼2 小时前
omnilingual_asr在Nvidia Spark DGX中部署
python
蓝天守卫者联盟12 小时前
烧结机一氧化碳治理厂家技术路线与市场格局分析
大数据·人工智能·python
Ulyanov2 小时前
雷达信号处理核心算法与仿真实现
python·目标跟踪·信号处理·系统仿真·雷达电子对抗