做数据分析的人,几乎都绕不开 Jupyter。不管你是刚装上准备跑第一行 Python,还是已经在 Notebook 里处理过几百个表,最终都会发现:这个工具值得花点时间好好学。很多人对它的认知停留在“能写代码、能看图表”的层面,实际上它远不止如此——日常的数据探索、实验复现、教学演示、甚至团队协作,都能靠它完成得又快又稳。这篇内容面向刚接触 Jupyter 的新手,也适合已经用过一阵子、但想解决各种奇怪报错的老用户。我会从选型、安装、日常使用、进阶技巧一直聊到高频错误排查,尽量把我在实际项目里踩过的坑和验证过的方法一次讲透。
1. 先分清 Notebook 和 Lab:两个工具到底怎么选
1.1 两者定位差异有多大
Jupyter Notebook 是最早被大家熟知的那套网页交互环境,经典的单文档结构:上面是一格一格的代码单元,每个单元可以独立执行、独立输出。它的优点是结构简单、上手门槛极低,非常适合做数据分析时的逐步探索。
JupyterLab 则是 Jupyter 团队后来推出的下一代界面,可以理解为“Notebook 的升级工作台”。它在同一个窗口里支持并排打开多个 Notebook、终端、文本文件、数据文件查看器,还能自由拖拽布局。如果你有“一边写代码、一边看文档、一边盯着数据”的需求,Lab 的体验比 Notebook 舒服一个量级。
从我个人的项目经验来看,这两者不是简单的新旧替代关系。Notebook 在轻量分享、快速演示的场景下依然非常实用;Lab 则更适合日常开发、多任务并行和复杂项目管理。所以不用纠结“到底学哪个”,两个都要会,按场景切换就行。
1.2 选型建议与我的使用习惯
我的建议很简单:日常写分析、做数据清洗、画图看结果的,优先用 JupyterLab;如果你只是临时打开一个 ipynb 文件,或者要给同事/学生演示一段代码,直接用 Notebook 反而更省心。
这里还要说一种常见误区:很多人以为 Notebook 就是“浏览器里的 Python 编辑器”,其实它远不止于此。Notebook 支持多种内核,不止 Python。R、Julia、Scala 都能装内核跑起来。我自己就在同一台机器上配过 Python 和 R 双内核,平时切来切去很方便。后续章节我会详细拆解内核接入的方法,这属于“不会特别麻烦、但不会的人永远卡住”的那种知识点。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 安装部署与内核接入:从环境搭建开始避坑
2.1 三种安装路径与选择
安装 Jupyter 最常见的有三条路,各有利弊:
- 直接用 pip 安装:
pip install jupyterlab或pip install notebook。适合已经能熟练管理 Python 环境的人,安装快、环境干净,依赖冲突风险相对可控。 - 用 conda 安装:
conda install -c conda-forge jupyterlab。适合有 conda 环境管理习惯的人,尤其是装了 Anaconda 全家桶的。这样 Jupyter 会和 base 环境绑定,后续配合 conda 环境切换会比较顺。 - 直接装 Anaconda 发行版:自带 Jupyter Notebook 和 JupyterLab,适合完全不想碰命令行的初学者。缺点是东西比较重,环境混乱时排查问题也更麻烦。
我的建议是:如果你已经在用 Python 做开发,别装全家桶,直接用 pip 或 conda 单独装。Anaconda 全家桶适合图省事的场景,但后期一旦遇到包版本打架,会非常消耗耐心。
2.2 工作目录、启动参数与端口设置
很多人用 Jupyter 几个月都不知道,启动时是可以指定工作目录的。默认情况下,Jupyter 会把当前终端所在的目录作为根目录,文件浏览器里只能看到这个目录下的内容。如果你固定在某个项目文件夹下工作,我建议养成用参数启动的习惯:
bash复制jupyter lab --notebook-dir=/path/to/your/project
jupyter notebook --notebook-dir=/path/to/your/project --port=8890
--port 参数很实用,尤其是在默认 8888 端口被占用的时候。启动后如果发现网页半天没
