Miniconda 安装与 Jupyter 使用入门

Miniconda 安装与 Jupyter 使用入门:conda 虚拟环境完整教程(Windows)

一句话概览: Miniconda 是轻量的 Python 环境与包管理器 ,用于为不同项目创建相互隔离、可复现的虚拟环境,并自由安装、切换 Python 版本;Jupyter(Jupyter Notebook / JupyterLab)是交互式笔记本编程环境,支持代码逐格运行、图文与公式混排、结果即时可视化。二者是搭档关系:先用 conda 准备好独立环境,再让 Jupyter 使用该环境的内核(Kernel)来运行代码。本文面向零基础读者,以 Windows + CPU 环境为例,完整讲清原理、命令、避坑要点与安装全流程。

**适用读者:**零基础、想系统搭建 Python 数据分析 / 深度学习环境的学习者。

**适用环境:**Windows 10/11(macOS、Linux 命令基本通用);无独立显卡也可使用,本文采用 CPU 版;示例使用成熟稳定的 Python 3.10。

**最后更新:**2026 年 9 月。核心命令长期稳定,具体版本号请以官方页面为准。

本文目录

  • 第 0 章 全局地图:Miniconda 与 Jupyter 的分工与协作关系

  • 第一部分 Miniconda:依赖痛点、虚拟环境、术语辨析、能力清单与命令手册

  • 第二部分 Jupyter Notebook:核心概念、能力全景、界面操作与快捷键

  • 第三部分 关键:Jupyter 如何使用 conda 环境(内核绑定)与五步安装

  • 第四部分 它们在数据科学 / AI 技术栈中的位置

  • 第五部分 Windows 安装实战:五步行动清单与通关验证

  • 常见问题 FAQ(新手高频问题速查)

  • 结语与相关资源


Miniconda 和 Jupyter 是什么、能做什么?从安装到上手一篇讲透

第 0 章 先建立一张全局地图:它俩根本不是一类东西

很多人第一次装环境会懵,是因为把 Miniconda 和 Jupyter 当成了"两个差不多的软件,是不是装一个就行"。完全不是。它俩解决的是两个正交(互不重叠)的问题,而且是搭档关系。

先用一个"开餐厅"的比喻把全局钉死:

  • 你要做菜(跑代码 / 训练模型)。

  • Miniconda 像"后厨总管 + 仓库管理员":它负责给每道菜准备一间独立厨房,厨房里配齐特定版本的灶台、刀具、食材(Python 解释器、PyTorch、numpy、d2l 这些"包")。A 厨房用老版食材、B 厨房用新版食材,互不串味。

  • Jupyter 像"明档操作台 + 带草稿纸的试验台":你在上面切一刀、尝一口、记一笔,做一步看一步结果,还能把"做法说明、照片、公式"和"操作步骤"混排在一起,最后直接端出一份"既好看又能复现的料理笔记"。

一句话分工:

Miniconda 管的是"用哪一套 Python 和哪些库、它们之间别打架"(环境与依赖);Jupyter 管的是"用什么方式一行行交互式地写代码、看结果、做笔记"(开发与表达界面)。

再换个更技术的对照:

Miniconda(conda) Jupyter
本质 环境管理器 + 包管理器 + Python 版本管理器 交互式计算环境 / 可编程笔记本
解决的痛点 "在我电脑上能跑、在你那儿报错""版本冲突" "写一段就要看一段结果、还要图文并茂地记录"
你跟它打交道的方式 主要在命令行(终端)敲命令 在浏览器界面里点格子、敲代码
没有它会怎样 所有项目挤在一个 Python 里,迟早版本打架 只能写完整脚本一次性运行,探索和做笔记很别扭
类比 厨房/仓库总管 试验台/画板

以李沐《动手学深度学习》(dive into deep learning,简称 d2l,并提供同名 d2l 工具包)课程为例,其标准安装分为 4 步,本质就是:**先用 Miniconda 把"独立环境 + 正确版本的库"备好(步骤①②③),再用 Jupyter 打开、运行课件(步骤④)。**理解了这条主线,后面所有细节都有地方挂靠。

**图 1 | Miniconda 与 Jupyter 协作全景:**Miniconda 在后台管理多个互不干扰的环境;当从 d2l 环境启动 Jupyter 时,它的内核(Kernel)就拥有该环境的全部库,浏览器只是与内核交互的前端界面。


第一部分 Miniconda 是什么:环境、包与 Python 版本管理

1.1 先讲痛点:不装它,你迟早会掉进"依赖地狱"

要懂一个工具,先懂它消灭的痛苦。

假设你不用 conda,直接在系统里装了一个 Python,然后 pip install xxx 装各种库。三个月内你几乎必然遇到下面这些事:

痛点一:两个项目要同一个库的不同版本。

你上半年做的项目 A 依赖 numpy 1.x,下半年新项目 B(比如新版 PyTorch)要求 numpy 2.x。numpy 2.x 有破坏性改动,装了新的,老项目直接崩。一台机器、一个 Python,同一时刻只能装一个 numpy 版本------你被迫在"做新项目"和"维护老项目"之间反复卸载、重装,这就是版本冲突

痛点二:依赖是一张网,不是一条线。

你装一个 torch,它背后又依赖一堆别的包(特定版本的 typing-extensions、sympy、networkx、filelock......)。这些"包的包"叫依赖(dependency) 。手动管理几十上百个互相咬合、还有版本上下限的包,人脑是扛不住的,这叫依赖地狱(dependency hell)

痛点三:"在我电脑上明明能跑啊?"

你把代码发给同学,他一跑就报错 ModuleNotFoundError 或版本不兼容------因为他电脑上没有和你一致的那套库。科研、团队协作、部署上线,处处是这个问题。本质是运行环境无法被精确复现

痛点四:Python 版本本身也会打架。

有的老项目只能跑在 Python 3.8,新框架要求 3.10 及以上,而操作系统自带的往往是更新的版本(例如较新的 Python 3.13/3.14,许多科学计算、深度学习库尚未及时发布对应的预编译安装包,强行安装很容易失败)。开发者不可能为每个项目反复卸载、重装 Python 本体。

Miniconda 的核心价值,就是用"虚拟环境"一次性根治这四类问题。

1.2 什么是 conda 虚拟环境(virtual environment):给每个项目一间独立厨房

所谓虚拟环境(virtual environment),本质上就是一个独立的文件夹,里面装着一份特定版本的 Python 解释器 + 一堆只属于这个环境的第三方包。激活哪个环境,命令行就用哪个环境的 Python 和包,环境之间在文件层面互相隔离。

于是上面的痛点全部化解:

  • 给项目 A 建环境 envA,里面 numpy 1.x;给项目 B 建环境 envB,里面 numpy 2.x。同时存在、随时切换、互不影响。

  • 每个环境里的依赖网由 conda/pip 自动解析安装,不用你手算。

  • 环境可以"导出成一张清单文件",别人拿到清单一条命令复刻出一模一样的环境,复现问题解决。

  • 想装几个 Python 版本就建几个环境:env38 用 3.8、d2l 用 3.10,互不干扰,也完全不碰系统自带的 3.14。

这就是为什么课程第一步让你装 Miniconda,而不是直接用系统 Python。

**图 2 | 是否使用虚拟环境的对比:**上图是所有项目共用一个 Python 的结果------新版库覆盖旧版、老项目随时崩溃;下图是 conda 的做法------每个项目一间独立环境,各用各的版本、互不干扰。

1.3 一堆名词一次厘清:Conda / Anaconda / Miniconda / pip / venv / conda-forge

这几个词是初学者最大的混淆源,一次讲清。

先用一张表快速区分这六个高频术语,再逐条展开详解:

术语 英文 / 全称 一句话定义
conda Conda 跨语言、跨平台的包管理器 + 环境管理器 + Python 版本管理器,是一个命令行程序
Anaconda Anaconda Distribution 内置 conda、并一次性预装数百个数据科学包的"全家桶"发行版,体积达数 GB、较臃肿
Miniconda Miniconda 只含 conda 与一个基础 Python 的最小发行版,按需装包、干净轻量,本教程选用
pip Pip Installs Python Python 官方包管理器,从 PyPI 仓库安装 Python 包,包最全、更新最及时
venv virtual environment Python 自带的轻量虚拟环境工具,不能切换 Python 版本、也不管理非 Python 二进制库
channel / conda-forge software channel conda 的软件下载源;conda-forge 是社区维护、包最全最活跃的源

① conda

conda 是一个跨语言、跨平台的"包管理器 + 环境管理器",是一个命令行程序。它能干三件事:装包(含 Python 之外的底层二进制库)、建/删/切换环境、安装不同版本的 Python 本体。

② Anaconda

Anaconda 是一个"全家桶发行版":它内置 conda,并且一次性预装了几百个数据科学常用包(numpy、pandas、scipy、jupyter、matplotlib......上 GB 体积)。优点是开箱即用,缺点是臃肿、装了大量你用不到的东西、后续容易出现包冲突,安装包好几个 G。

③ Miniconda

Miniconda 是"最小发行版":**它只带 conda 本身 + 一个基础 Python + 少量必需组件(约几百 MB),其它包需要什么才装什么。**干净、轻、可控,可在 Miniconda 官方下载页 获取。这也是本教程推荐 Miniconda 而非 Anaconda 的原因------从一个干净环境开始,按需精确安装。

一句话:Anaconda 和 Miniconda 都自带 conda;区别只是有没有帮你预装那一大堆包。做深度学习推荐 Miniconda,干净省事。

④ pip

pip 是 Python 官方的包管理器,专门从 PyPI (Python Package Index,Python 官方包仓库,见 pypi.org)安装 Python 包。conda 能安装 Python 本体和一些底层 C/C++ 库,pip 则能安装 PyPI 上最全、最新的 Python 包(像 d2l、最新版 torch 通常用 pip 安装更及时)。二者可以配合,最佳实践见 1.6。

⑤ venv / virtualenv

Python 自带的轻量虚拟环境工具(python -m venv)。它也能做环境隔离,但只能基于已有的某个 Python 版本建环境、不能帮你安装别的 Python 版本、也不管非 Python 的二进制库。conda 是它的"超集式替代",功能更强,尤其在数据科学领域。课程统一用 conda,你就不用再学 venv。

⑥ channel 与 conda-forge

conda 下载包的"软件源"叫 channel;默认源在国外、国内访问较慢,conda-forge 是社区维护、包最全最活跃的一个源。课程中提到的"国内换 conda/pip 镜像源提速",就是把下载地址换成清华 TUNA、中科大等国内镜像(可参考 清华 Anaconda 镜像使用帮助),具体命令见 1.5。

1.4 Miniconda 到底能做什么:能力清单逐项展开

能力 1:一台机器装任意多个 Python 版本并秒级切换。

建环境时直接指定版本:conda create -n py38 python=3.8conda create -n d2l python=3.10。想进哪个就 conda activate 哪个,退出用 conda deactivate。系统 Python 完全不受影响。

能力 2:创建相互隔离的项目环境。

每个课程、每个项目、每个实验各开一个环境,彻底杜绝"装一个库搞崩另一个项目"。环境玩坏了?删掉重建即可,主机毫发无伤,这是隔离带来的"安全感"。

能力 3:一键安装/更新/卸载成百上千的包,并自动解析依赖。

conda install numpy pandaspip install torch,管理器会自动把它们依赖的其它库按兼容版本配齐,不用你操心。

能力 4:能安装"非 Python"的底层库(conda 的独门优势)。

像高性能线性代数加速库 MKL/OpenBLAS、图像处理库、CUDA(NVIDIA 的 GPU 并行计算平台)相关运行库、C++ 编译器等,conda 都能用预编译二进制方式装好,不需要在本机自行编译------这在 Windows 上尤其省事(否则安装部分科学计算库还需额外安装 Visual Studio 编译器)。

能力 5:环境的"导出---复刻",保证可复现。

把某环境的完整清单导出成 environment.yml(conda)或 requirements.txt(pip),换台电脑、给同学、上服务器,一条命令还原出一模一样的环境。这是科研和工程协作的基石。

能力 6:跨平台、跨语言。

同一套 conda 命令在 Windows / macOS / Linux 上几乎一致;它不只服务 Python,也能管 R、Julia、C++ 等环境。

能力 7:与 Jupyter 无缝配合,做到"一个环境一个内核"。

每个 conda 环境可以注册成 Jupyter 里的一个"内核(Kernel)",你在 Notebook 界面上就能切换"这份笔记本用哪个环境跑",第三部分细讲。

1.5 Miniconda 动手命令手册(Windows 重点,含你会踩的坑)

下面按真实使用顺序给出一套命令。**约定:**命令行提示符前出现 (d2l) 前缀,代表当前已处于名为 d2l 的环境内。

(1)安装后的一次性初始化(Windows 上最容易卡的一步)

装好 Miniconda 后,在 Anaconda Prompt 里 conda 是直接可用的;但如果你想在 PowerShell / VSCode 终端里用,需要初始化一次:

复制代码
conda init powershell

然后关闭并重新打开终端。如果重开后 PowerShell 报红字"无法加载文件......因为在此系统上禁止运行脚本",这是 Windows 默认的脚本执行策略挡住了,执行下面这条(只对当前用户生效,安全)再重开终端:

复制代码
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

成功标志:命令行最前面出现 (base),表示当前处在 conda 的基础环境。

(2)环境的增、删、查、切换

复制代码
# 新建一个叫 d2l、Python 版本为 3.10 的环境(-y 表示自动确认)
conda create -n d2l python=3.10 -y
激活(进入)环境
conda activate d2l            # 之后行首变成 (d2l)
退出当前环境,回到 base
conda deactivate
列出本机所有环境(带 * 的是当前所在环境)
conda env list
删除某个不想要的环境(先退出它再删)
conda env remove -n 环境名

(3)包的装、更、删、看、搜

复制代码
# 先确保在目标环境里!
conda activate d2l
用 conda 装包
conda install numpy pandas matplotlib -y
用 pip 装包(PyPI,包最全;深度学习课主要用它装 torch、d2l)
pip install torch torchvision      # 你是 Intel 核显,这样装到的就是 CPU 版
pip install d2l
查看当前环境装了哪些包
conda list            # 或 pip list
更新某个包 / 更新 conda 自己
conda update numpy
conda update -n base conda
卸载包
conda remove 包名      # 或 pip uninstall 包名
搜索某个包有哪些可装版本
conda search numpy

(4)国内换镜像源提速(下载慢必看)

conda 换清华源(一次性配置,之后所有 conda 下载走国内):

复制代码
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --set show_channel_urls yes

pip 临时用清华源(在某条 pip 命令后加 -i 即可,最简单):

复制代码
pip install d2l -i https://pypi.tuna.tsinghua.edu.cn/simple

想让 pip 永久默认走国内源:

复制代码
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

(5)导出与复刻环境(可复现)

复制代码
# 导出:在已配好的环境里生成清单文件
conda env export > environment.yml      # conda 风格全量清单
pip freeze > requirements.txt           # pip 风格清单
复刻:别人拿到 environment.yml 后,一条命令建出同样环境
conda env create -f environment.yml
拿到 requirements.txt:先建并激活环境,再
pip install -r requirements.txt

(6)清理缓存、释放空间

conda 下载的安装包会留缓存,用久了占几个 G,定期清理:

复制代码
conda clean -a -y

1.6 Miniconda 最佳实践与常见坑(务必扫一眼)

  1. 不要往 base 里乱装项目包。 base 只放 conda 自身,保持干净;每个项目/课程单独建环境。这是用 conda 最重要的一条纪律。

  2. 一个项目一个环境,环境名见名知意 (如 d2lnlpquant),别都叫 test

  3. conda 和 pip 可以混用,但优先先用 conda 装、再用 pip 补;同一环境里尽量别反复来回混装同一批包,减少冲突概率。深度学习场景常见且推荐的做法是:用 conda 建环境和装 Python,用 pip 装 torch/d2l。

  4. Python 版本别盲目追新。 你系统的 3.14 太新,科学计算库的预编译包往往滞后,所以课程环境固定在成熟稳定的 3.10(或 3.11),兼容性最好。

  5. 环境路径、项目路径尽量别含中文和空格(比如别放在"学习资料\动手学深度学习"这种目录),部分底层库在中文/空格路径下会出诡异错误。

  6. 装包前先确认自己在对的环境里 (看行首是不是 (d2l))。新手 90% 的"明明装了却说找不到模块",都是因为装在了 A 环境、却让 B 环境的 Python 去运行。

  7. 环境坏了别硬救,删了重建最快,这正是隔离的意义。


第二部分 Jupyter Notebook 是什么:交互式笔记本与内核 Kernel 详解

2.1 先对比:写代码到底有哪几种"姿势"

理解 Jupyter,先看它和别的方式差在哪:

  • 脚本(.py 文件):把一大段程序写完,一次性整体运行,错了再改、再整体跑。适合"成品软件、工程代码"。

  • IDE(PyCharm / VSCode):功能齐全的开发工厂,适合写大型项目、调试、工程化。

  • REPL(在命令行输入 python 后出现的 >>> 交互提示符):能一行行交互,但关闭即丢失,无法排版做笔记、也无法保留图形。

  • Jupyter Notebook把"逐行交互的即时反馈"和"可长期保存、可图文混排的文档"合二为一。 一个文件里既有代码、又有文字说明、公式、图片、运行结果,而且代码可以一格一格地跑,结果直接嵌在代码下面。

它特别契合一类工作:你不知道答案、需要边试边看、反复探索,并最终把探索过程讲清楚------数据分析、机器学习、科研实验、教学、学习笔记,全是这种形态。这也是为什么几乎所有 AI/数据课程(包括李沐这门)都用它授课。

2.2 核心概念:Notebook、单元格 Cell、内核 Kernel

① Notebook(.ipynb 文件)

一份 Jupyter 笔记本就是一个 .ipynb 文件(ipynb 是 IPython Notebook 的缩写,承袭自其前身 IPython)。它以 JSON 格式保存你写入的全部内容,包括代码、文字,以及每次运行留下的输出结果(表格、图形都包含在内),因此把文件发给别人时,对方即使不运行也能看到你跑出的结果。

② 单元格 Cell

Notebook 由一个个"格子"堆叠而成,主要两种:

  • 代码格(Code):写可执行 Python,运行后输出直接显示在格子下方。

  • Markdown 格(Markdown) :写说明文字,支持标题、列表、表格、LaTeX 数学公式(比如 y=Wx+by=Wx+b)、图片、链接。

代码与说明交替排列,就构成了一份"可阅读、可运行、可复现"的图文报告,这种范式叫文学化编程(literate programming)

③ 内核 Kernel

真正执行 Python 代码的后台进程叫内核。关键认知:浏览器只是"前端界面",真正算东西的是后台那个 Kernel 进程。 这个 Kernel 用哪个 Python,就由你启动 Jupyter 时所在的 conda 环境决定(这就是为什么必须先 conda activate d2l 再启动 Jupyter,第三部分细讲)。

④ 名字与家族

Jupyter = Ju (lia) + Pyt hon + R,寓意它支持多种语言;装上对应语言的 kernel,它不止能跑 Python。常见家族成员:

  • Jupyter Notebook:经典的单文档笔记本界面(课程常用,简单)。

  • JupyterLab:新一代集成界面,多标签、能并排打开多个 notebook、有文件浏览器和扩展,更像 IDE,用法和 Notebook 相通。

  • VS Code 里的 Jupyter :直接在 VSCode 中打开 .ipynb,体验更工程化。

    三者笔记本文件完全通用,学会一个就会用其它。

2.3 Jupyter 到底能做什么:能力全景

能力 1:逐格运行、即时反馈,变量在内存里常驻。

跑完一格,里面定义的变量、加载的数据、训练好的模型都留在内存里,下一格直接接着用,不用从头重跑。这对"加载一次大数据集、然后反复做不同实验"极其高效------数据加载可能要几分钟,之后每个小实验都是秒出结果。

能力 2:代码 + Markdown + 公式 + 图片混排,做成"会跑的文档"。

你可以先写一段"本节我们要实现线性回归,公式是......",再放代码实现,再贴运行出的图,再写结论。学习笔记、实验报告、教学课件、技术博客一篇成型。GitHub 能直接渲染 .ipynb,很多教程、论文复现、Kaggle 竞赛方案都是以 notebook 形式分享的。

能力 3:极其丰富的"富输出"。

  • 表格数据(pandas DataFrame)直接渲染成带样式的表格;

  • matplotlib/plotly 画的图直接内嵌 在格子下面,%matplotlib inline 后无需弹窗;

  • 还能输出 HTML、音频、视频、甚至可交互控件(ipywidgets:拖滑块、点按钮实时改参数看曲线变化)。

能力 4:魔法命令(Magic Commands),探索效率倍增。%%% 开头:

复制代码
%timeit sum(range(1000000))     # 自动多次运行,精确测一段代码耗时
%%timeit                        # 两个%表示作用于整个格子
    total = 0
    for i in range(1000000):
        total += i
%run another_script.py          # 在 notebook 里运行一个外部 .py 文件
%who / %whos                     # 查看当前内存里有哪些变量
%pwd / %ls                       # 查看当前目录/文件(等价于系统命令)
!pip list                        # 以 ! 开头直接执行系统命令,结果回到 notebook
%matplotlib inline               # 图形内嵌显示
%load_ext autoreload             # 配合 autoreload,改外部模块自动重载

深度学习里你会常用 %timeit 对比两种实现谁快、用 !pip install xxx 当场补装包。

能力 5:数据探索与可视化(EDA,Exploratory Data Analysis,探索性数据分析)的最佳载体。

读入数据 → 查看样例 → 统计缺失 → 画图 → 发现问题 → 清洗 → 再看,整条探索链路一格一格推进、处处留痕,是数据分析师的主力工作方式。

能力 6:深度学习/机器学习的"调试显微镜"。

训练神经网络最怕黑箱。在 notebook 里你可以:打印每层张量的形状(shape)、查看梯度、把 loss 下降曲线实时画出来、单独测试一个算子的输出、跑一个 batch 看看数据对不对。李沐课程用 notebook,正是为了让你"每一步都看得见",而不是跑一个黑盒脚本干等结果。

能力 7:教学、演示、可复现研究。

老师把"讲解 + 可运行代码 + 结果"做成 notebook 发给你,你可以边看边改参数边运行,把"听课"变成"动手实验"。这是 d2l 课程的核心教学法。

能力 8:多语言内核。

装上 R、Julia、Bash 等对应 kernel,同一个界面能跑多种语言。

能力 9:远程/云端运行(深度学习真正的刚需)。

Jupyter 是"浏览器前端 + 后端 Kernel"的架构,意味着后端 Kernel 可以跑在一台远程 GPU 服务器上,你在自己笔记本的浏览器里写代码,计算发生在远端。这就是为什么云 GPU、公司集群、实验室服务器几乎都用 Jupyter/JupyterLab 作为入口。你现在先用本机 CPU 入门,将来上 GPU 云服务器时,这套操作完全通用。

能力 10:庞大的生态。

  • nbconvert:把 notebook 导出成 HTML、PDF、Python 脚本、幻灯片;

  • nbviewer:在线查看 notebook;

  • Binder / Google Colab / Kaggle Notebook / 天池 DSW :在线托管运行 notebook,无需本地装环境(Google Colab 还提供免费 GPU),本质都是 Jupyter 生态的延伸;

  • 海量扩展(插件)实现目录、变量检查器、代码折叠、调试器等。

2.4 Jupyter 界面与操作手册

(1)启动(务必先激活环境)

复制代码
conda activate d2l          # 先进入装了 torch/d2l/jupyter 的环境
jupyter notebook            # 经典界面,会自动弹出浏览器
# 或
jupyter lab                 # 新一代界面,推荐,功能更强

启动后终端会显示一个本地网址(形如 http://localhost:8888/?token=...),浏览器打开就是工作界面。这个终端窗口不能关 (它是后端服务),用完回到终端按 Ctrl + C 两次停止。

工作目录:在哪个文件夹下执行启动命令,Jupyter 看到的就是哪个目录。建议先 cd 到放课件的文件夹再启动,这样能直接看到课件。

(2)两种模式 + 必背快捷键(效率关键)

Notebook 有两种键盘模式:

  • 编辑模式(Edit) :格子边框绿色 ,正在往里打字,按 Esc 退出到命令模式。

  • 命令模式(Command) :格子边框蓝色/灰色 ,快捷键操作格子本身,按 Enter 进入编辑。

最高频快捷键(命令模式下,除特别说明):

快捷键 作用
Shift + Enter 运行当前格,并跳到/新建下一格(最高频,记住这一个就能用
Ctrl + Enter 运行当前格但停在原地
Alt + Enter 运行当前格并在下方插入新格
A / B 在上方(Above)/下方(Below)插入新格
D D(连按两次 D) 删除当前格
Y / M 把格子切成代码(Y)/ Markdown(M)
C / X / V 复制 / 剪切 / 粘贴格子
Z 撤销删除格子
↑/↓K/J 在格子间移动
Tab(编辑模式) 代码补全 / 查看对象有哪些方法
Shift + Tab(编辑模式) 光标停在函数上,查看它的参数说明(很实用)
H 调出全部快捷键帮助

Jupyter Notebook 常用快捷键速查表

下面把命令模式与编辑模式下最常用的快捷键整理成一张速查表,方便随时查阅。命令模式下按 H 也能在界面里调出完整帮助。

模式 快捷键 作用
命令模式 (按 Esc 进入) Shift + Enter 运行当前格,并跳到/新建下一格(最高频)
命令模式 (按 Esc 进入) A / B 在上方(Above)/下方(Below)插入新格
命令模式 (按 Esc 进入) M / Y 把当前格切换为 Markdown(M)/ 代码(Y)
命令模式 (按 Esc 进入) D D(连按两次 D) 删除当前格
命令模式 (按 Esc 进入) C / X / V 复制 / 剪切 / 粘贴格子
命令模式 (按 Esc 进入) Z 撤销删除格子
命令模式 (按 Esc 进入) ↑/↓K/J 在格子间上下移动
命令模式 (按 Esc 进入) H 调出全部快捷键帮助
编辑模式 (按 Enter 进入) Shift + Enter 运行当前格,并跳到/新建下一格
编辑模式 (按 Enter 进入) Ctrl + Enter 运行当前格但停在原地
编辑模式 (按 Enter 进入) Tab 代码补全 / 查看对象有哪些方法
编辑模式 (按 Enter 进入) Shift + Tab 光标停在函数上,查看它的参数说明(很实用)

(3)菜单里几个保命功能

  • Kernel → Restart(重启内核):清空内存里所有变量,从头来。

  • Kernel → Restart & Run All(重启并从头运行全部):交作业/保存前必做,用来验证"从头到尾一气呵成能跑通"。

  • Kernel → Interrupt(中断,■ 按钮):代码跑飞/死循环时立刻停住,不用关页面。

  • 保存:****Ctrl + S,Jupyter 也会定时自动存 checkpoint。

2.5 Jupyter 常见坑与最佳实践

  1. "运行顺序陷阱"(初学者头号困惑)。 每个代码格左侧有 In [序号]:,这个序号是你实际运行的先后次序,不是格子从上到下的位置 。如果你上下来回乱点、改了上面的变量又没重跑,结果会"看起来不符合代码顺序",因为内存里残留着旧变量。根治办法:菜单 Kernel → Restart & Run All,让它严格从上到下跑一遍。 判断一份 notebook 是否干净可信,就看序号是不是大致递增、能否一次 Run All 跑通。

  2. Kernel 必须和环境对应。 你在 d2l 环境装了 torch,就必须用 d2l 的内核运行 notebook,否则 import torch 报错。具体怎么绑定见第三部分。

  3. 别把 Notebook 当大型软件工程工具。 .ipynb 本质是 JSON,难做代码版本对比(git diff 很乱)、难写复杂调试、不利于模块化。经验法则:探索、实验、讲解、画图用 Notebook;当代码成熟、要做成可复用的模块/系统/部署时,把稳定逻辑抽成 .py 文件 (notebook 里可以 import 自己的 .py 模块)。两者配合,而非互相替代。

  4. 善用 Markdown 格写"为什么",而不只是堆代码。 未来的你会感谢现在写下思路和结论的自己。

  5. 长时间训练别只依赖本地 notebook ,注意保存;重要结果及时导出,必要时用 nbconvert 生成 HTML/PDF 留档。

  6. 数据和工程文件路径用相对路径,并在固定工作目录启动,避免"找不到文件"。


第三部分 关键:Jupyter 如何使用 conda 环境(内核 Kernel 绑定)

单独看都懂了,真正动手时 90% 的卡点出在"两者怎么连起来"。这一部分把缝给你焊死。

3.1 为什么必须先激活环境再启动 Jupyter(完整因果链)

  1. conda 环境决定"用哪个 Python、能 import 哪些库"。

  2. Jupyter 的 Kernel 是一个具体的 Python 进程,它从某个 conda 环境启动,就拥有那个环境的全部库。

  3. 所以正确顺序永远是:conda activate d2l → 再在这个已激活的环境里 ****jupyter notebook 。这样启动起来的内核天然就是 d2l 环境的,import torchimport d2l 才找得到。

如果你在 (base) 或别的环境下启动了 Jupyter,却打开 d2l 课件,就会报"找不到 torch/d2l"------不是没装,是内核用错了环境

3.2 标准安装五步走(课程 4 步的完整展开,以 Windows + CPU 为例)

**图 3 | 环境搭建五步流程:**先建立并激活环境,再在环境内装包,最后才启动 Jupyter,顺序不能乱;可对照下方命令逐行执行。

复制代码
# ① 装好 Miniconda 并初始化(一次性)
conda init powershell          # 之后重开终端;必要时配执行策略,见 1.5
② 建专用环境(一次性)
conda create -n d2l python=3.10 -y
conda activate d2l
③ 在该环境里装 jupyter、框架、课程包
pip install jupyter jupyterlab ipykernel        # notebook 运行所需
pip install torch torchvision                   # Intel 核显 → CPU 版,无需 CUDA
pip install d2l                                 # 课程工具包
下载慢就给 pip 命令末尾加: -i https://pypi.tuna.tsinghua.edu.cn/simple
④(推荐)把 d2l 环境注册成 Jupyter 里可选的内核
python -m ipykernel install --user --name d2l --display-name "Python (d2l)"
⑤ 进入放课件的文件夹,启动
cd 你的课件目录
jupyter lab        # 或 jupyter notebook

之后每次上课只需三步:

复制代码
conda activate d2l
cd 你的课件目录
jupyter lab

3.3 多环境多内核:一份界面,随意切换

当你以后有好几个 conda 环境(d2l、nlp、数据分析......),给每个环境都执行一次 ipykernel install(注意 --name 取不同名字),那么在同一个 Jupyter 界面右上角/Kernel 菜单里,就能给不同 notebook 指定不同环境内核,甚至同一份 notebook 随时切换内核对比运行。这就是 conda(管环境)和 jupyter(管交互)分工协作的最终形态。

3.4 在 VS Code 里用(可选进阶)

装好 VSCode 的 Python/Jupyter 扩展后,直接双击打开 .ipynb,右上角选择解释器时选到 d2l 环境对应的 python.exe,效果等同选内核,同时还能获得更好的调试、git 对比体验。入门阶段先用经典 JupyterLab 即可,不必急着折腾。


第四部分 把视野拉大:它们在"数据科学/AI 技术栈"里的位置

学到这里,你可能会问:学完这门课,这套东西还能用在哪?给你一张技术栈地图,看清每个零件的位置:

  1. 环境层:Miniconda/conda(也可能是 Docker、venv)------解决"用什么运行时和库、怎么隔离与复现"。

  2. 语言运行层:Python(解释器本身,由 conda 帮你装和切换版本)。

  3. 计算/算法层 :numpy(数值计算地基)、pandas(表格数据)、scikit-learn(传统机器学习)、PyTorch/TensorFlow(深度学习)、d2l(课程封装工具)。

  4. 交互与表达层Jupyter(探索、实验、可视化、教学、报告)。

  5. 可视化与呈现层:matplotlib/plotly/seaborn 出图,nbconvert 导出报告,配合 Markdown/LaTeX 表达。

  6. 协作与部署层 :git 版本管理、远程 GPU 服务器/云、Docker 镜像、最终把成熟代码做成 .py 工程或服务上线。

**Miniconda 处在最底层(第 1 层),Jupyter 处在第 4 层,一个托底、一个面向使用者,中间隔着真正干活的算法库。**课程要求"先装底层环境、最后启动交互界面",顺序正与这张自下而上的地图一致。

**图 4 | 数据科学 / AI 技术栈六层地图:**高亮的第 1 层(Miniconda)托底、第 4 层(Jupyter)面向使用者,中间是真正干活的计算库。

再横向看几个"亲戚/替代品",帮你建立判断:

  • Google Colab / Kaggle Notebook / 天池 / Binder :本质是"云端预先配好环境的 Jupyter",打开浏览器就能运行、还常提供免费 GPU,免去本地安装(可访问 Google Colab)。优点是零配置、有免费算力;缺点是会话会断开、环境不持久、数据上传受限。入门阶段用本地 conda+Jupyter 理解环境原理,需要免费 GPU 或快速跑 demo 时用 Colab,二者互补。

  • Docker:比 conda 更彻底的环境隔离(连操作系统层都打包),工程部署常用;科研/学习阶段 conda 足够,更轻。

  • PyCharm / VSCode :写大型工程项目更强;Jupyter 强在探索与表达。成熟团队通常"Jupyter 做实验验证想法 → 验证通过后迁到 .py + IDE 做工程化"。

不同职业怎么用它们,给你具体画面:

  • 数据分析师:conda 建分析环境,Jupyter 里读业务数据、清洗、做 EDA、出图表和结论报告。

  • 算法/机器学习工程师:Jupyter 里快速试模型、调参、看指标曲线,成熟后迁移成工程代码;用 conda 复现实验环境。

  • 深度学习研究员:在本地或远程 Jupyter 中逐格搭建网络、观察张量与 loss,用 conda 锁定 torch/CUDA 版本以保证结果可复现。

  • 科研工作者/学生:把实验过程、公式、图表、结论写成 notebook,导出 PDF 当附录,或传到 GitHub 供同行复现。

  • 量化、金融、生物信息等:同样是"conda 隔离专业库 + Jupyter 交互式研究"的模式,跨行业通用。

也就是说,Miniconda + Jupyter 不是只服务于这一门课的"一次性工具",而是整个数据科学/AI 行业通用、会伴随你整个职业生涯的两项基础基本功。 现在花时间搞懂,回报率极高。


第五部分 Windows 安装实战:五步行动清单与通关验证(CPU 版)

下面以一套典型的入门环境为例:**Windows 10/11、Intel 核显(无独立 N 卡,安装 CPU 版、无需 CUDA)、系统已自带较高版本 Python(另建 3.10 环境,不影响系统 Python)、可使用 winget。**其他系统或配置思路完全一致,按实际情况替换对应版本即可。

第 1 步:安装 Miniconda。

方式一(推荐):在 Windows 上可用系统自带的 winget 一行安装,macOS/Linux 用对应包管理器;方式二(通用、手动):到 Miniconda 官方下载页 下载对应系统的 64 位安装包,按向导一路下一步即可(是否加入 PATH 可保持默认,之后用 Anaconda Prompt 或执行 conda init,详见 1.5)。

第 2 步:初始化并建课程环境。

conda init powershell → 重开终端 → conda create -n d2l python=3.10 -yconda activate d2l

第 3 步:装齐运行所需的包。

复制代码
pip install jupyter jupyterlab ipykernel
pip install torch torchvision
pip install d2l

(慢就每条 pip 末尾加清华源 -i https://pypi.tuna.tsinghua.edu.cn/simple

第 4 步:注册内核、下载课程 notebook、启动验证。

复制代码
python -m ipykernel install --user --name d2l --display-name "Python (d2l)"
jupyter lab

在打开的网页里新建一个 notebook,逐格运行下面三行做"通关验证":

复制代码
import sys, torch, d2l
print(sys.version)          # 应显示 3.10.x,而不是 3.14
print(torch.__version__)    # 能打印版本号即说明 PyTorch 装好
x = torch.ones(3, 3)
print(x)                    # 能输出一个 3x3 全 1 张量,说明 CPU 计算正常

成功标志:三格都不报错、Python 显示 3.10、张量正常打印。到这一步,课程要求的整套环境就已彻底跑通,可以开始下载 d2l 课件逐章学习。

学习路径建议 :先用经典课件把"Shift+Enter 逐格运行、改参数立刻看变化"的手感建立起来;每学完一节,用 Kernel → Restart & Run All 确认自己能从头跑通;遇到"找不到模块"先检查右上角内核是不是 Python (d2l);遇到结果诡异先 Restart & Run All。这两个动作能解决你大半的新手问题。

常见问题 FAQ(新手高频问题速查)

下面汇总安装与使用中搜索频率最高的问题,每条答案均可独立查阅。

问:Miniconda 和 Anaconda 到底该装哪个?

答:深度学习、科学计算场景推荐 Miniconda。两者都自带 conda,区别在于 Anaconda 一次性预装了数百个包、体积达数 GB 且容易产生包冲突;Miniconda 只含 conda 和一个基础 Python,需要什么再装什么,干净、轻量、可控。

问:conda 和 pip 有什么区别,能一起用吗?

答:conda 是跨语言的环境与包管理器,能安装 Python 本体和非 Python 的底层二进制库;pip 是 Python 官方包管理器,只从 PyPI 安装 Python 包,但包最全、最新。二者可以配合,推荐做法是先用 conda 建好环境、装好 Python,再用 pip 补装 torch、d2l 等包,同一环境内尽量避免对同一批包反复混装。

问:什么是虚拟环境,为什么一定要用?

答:虚拟环境是一个独立文件夹,内含特定版本的 Python 解释器和只属于该环境的第三方包。不同项目使用各自的虚拟环境,可以同时依赖同一个库的不同版本而互不冲突,也能把环境导出成清单文件、在别的电脑上一键复刻,从根本上解决"版本冲突"和"在我电脑上能跑"的复现问题。

问:Jupyter 运行时报 ModuleNotFoundError(找不到已安装的包)怎么办?

答:九成原因是"包装在了 A 环境,Jupyter 内核却用的是 B 环境"。先确认启动 Jupyter 前已执行 conda activate 目标环境;若仍报错,在该环境内执行 python -m ipykernel install --user --name 环境名 注册内核,并在 Notebook 右上角 Kernel 菜单中选中该内核,然后重启内核即可。

问:怎么让 Jupyter Notebook 使用指定的 conda 环境?

答:两种方式。最简单的是先 conda activate 环境名,再在该环境中执行 jupyter lab,启动的内核天然属于该环境;更通用的是在每个环境中安装 ipykernel 并执行 python -m ipykernel install --user --name 环境名 --display-name "Python (环境名)",之后即可在 Jupyter 的 Kernel 菜单里为任意 Notebook 切换内核。

问:Notebook 的运行结果和单元格从上到下的顺序对不上怎么办?

答:单元格左侧的 In 序号 记录的是"实际运行次序"而非物理位置,来回运行会让内存残留旧变量。解决办法是菜单选择 Kernel → Restart & Run All,让整本 Notebook 严格从上到下重新运行一遍;判断一份 Notebook 是否干净可信,就看它能否一次 Run All 跑通。

问:Windows 执行 conda init 后,PowerShell 报"无法加载文件、禁止运行脚本"怎么办?

答:这是 Windows 默认脚本执行策略拦截。以当前用户身份执行 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser,再关闭并重新打开终端即可;也可以直接使用随 Miniconda 安装的 Anaconda Prompt,无需该设置。

问:国内下载 conda / pip 包很慢怎么办?

答:换成国内镜像源。conda 可一次性添加清华 TUNA 的 main 与 conda-forge 频道;pip 最简单的方式是在安装命令后追加 -i https://pypi.tuna.tsinghua.edu.cn/simple,也可用 pip config set global.index-url 设为默认。

问:Python 版本是不是越新越好,该选哪个?

答:不是。科学计算与深度学习库的预编译安装包通常会滞后于最新 Python,过新的版本容易装不上。学习与生产都建议选择成熟稳定版本(如 Python 3.10 或 3.11),等生态适配后再升级;用 conda 可以为不同项目单独指定任意 Python 版本,不影响系统自带 Python。

问:没有 NVIDIA 独立显卡(GPU)能学深度学习吗?

答:可以。入门阶段的网络规模小,CPU 完全可以跑通课程示例、理解原理;此时直接安装 CPU 版 PyTorch 即可,无需安装 CUDA。等后续需要训练大模型时,再配备 NVIDIA 显卡或使用带免费 GPU 的 Google Colab、云 GPU 服务器,操作方式与本地 Jupyter 完全一致。

问:Jupyter Notebook、JupyterLab、VS Code 里的 Jupyter 怎么选?

答:三者的 .ipynb 笔记本文件完全通用。Jupyter Notebook 是经典单文档界面、最简单;JupyterLab 是新一代多标签集成界面、功能更强,新手直接用 JupyterLab 即可;习惯在 VS Code 中开发的人可安装 Python/Jupyter 扩展后直接打开 .ipynb,调试与版本管理体验更好。


结语:两句话记住一辈子

  • Miniconda(conda)是"环境与依赖的管家":让每门课、每个项目都有独立、干净、可复现、互不打架的 Python 和库,还能随意切换 Python 版本。它在后台托底,你平时主要在建环境、装包、切换环境时跟它打交道。

  • Jupyter 是"探索与表达的画板":让你写一段、跑一段、看一段、记一段,把代码、公式、图表、结论编织成一份既能运行又能阅读的笔记本,是数据分析与深度学习学习/研究的主力界面。

**前者负责"不出乱子、可以复现",后者负责"边做边看、讲清过程";先由 conda 准备好 d2l 环境,再让 Jupyter 用该环境的内核启动------这就是整套安装流程的本质。**按第五部分跑通那几行验证代码后,这两个工具就真正从"名词"变成了手里的"工具"。


相关资源与官方链接

本文系统梳理了 Miniconda 与 Jupyter 的原理、命令、避坑要点,以及二者在数据科学 / AI 技术栈中的定位,建议配合第五部分动手完成安装,并收藏本页以备随时查阅。

相关推荐
caoerzhong1 小时前
JeeWMS 开源仓库管理系统权限与域验证解析:Java WMS 如何把数据权限管到仓、货主与人
java·python·开源·vue
抓不住时间的沙1 小时前
Butterfly主题 5.7 导航栏添加相册同时设置相册入口密码
css·python·node.js
风合星语2 小时前
2026 机器人工程实例(五):让 Allegro Hand 在 MuJoCo 中完成接触抓取——抓取状态机、稳定抬升与受控释放
c++·python·机器人·仿真
隐擎fox2 小时前
解构无感人机验证底层机制:行为生物轨迹采样、环境评分模型与自动化对抗实战
自动化测试·python·网络协议·tcp/ip·网络爬虫
haidao0312 小时前
氙灯光源技术特性及其在光催化实验中的标准化应用研究
人工智能·python·能源
用户0332126663673 小时前
使用 Python 设置 Excel 行列自适应 【代码示例】
python·excel
Ticnix3 小时前
RAG 的坑不在检索,在"对齐":pgvector 实战手记
python·agent·全栈
kyrie_sakura3 小时前
python学习笔记14 -- FastAPI
笔记·python·学习·fastapi
春涧草茶3 小时前
慢就是快12-2三种访问权限|getter与setter|魔法方法
开发语言·python