
没有编程语言,就谈不上软件开发。没错,没有编程语言的软件开发者就像没有车的出租车司机。不过,事情没那么简单。正如 GPS 让出租车司机的工作更轻松,集成开发环境(也称 IDE)也能让程序员更高效。
IDE 的设计初衷是帮助程序员更高效地编写代码和开发软件应用。IDE 将多种工具整合到同一界面,从而提高程序员的生产力。编写、测试和调试代码,以及语法高亮、括号匹配、代码自动补全等编辑功能,都是现代 IDE 的常见特性。
有许多特别适合数据科学的 IDE,包括 DataCamp 的 DataLab。本文将向您介绍 JupyterLab——Jupyter Notebook 的下一代产品,或许是数据科学领域最受欢迎的 IDE。自 2018 年发布以来,JupyterLab 提供了更灵活的用户界面和比经典 Jupyter Notebook 更多的功能,它无疑代表着 Jupyter 项目 的现在与未来。想要开始使用 JupyterLab 吗?继续阅读!
Jupyter Notebook 简介
2014 年 Jupyter Notebook 首次发布后,很快就彻底改变了 IDE 版图。它最近被认为是最重要的 计算项目 之一,永久改变了科学出版的流程,Jupyter 也由此成为数据科学的事实标准。
Jupyter Notebook 采用服务器-客户端应用架构,允许编码者通过网页浏览器编辑并运行笔记本。该应用既可在无互联网连接的本地计算机上运行,也可安装在远程服务器上,通过互联网访问。
最初它旨在支持 Julia、Python 和 R——这三种最流行的 数据科学编程语言。如今,Jupyter 已支持 40 多种编程语言。
Jupyter 由两个主要组件组成。
- 内核(Kernel)。 用于运行并自省用户代码的程序。默认情况下,Jupyter 提供 Python 代码内核,但也有针对其他编程语言的内核可用。
- 控制台(Dashboard)。 笔记本主要由一系列单元格构成,单元格中可以包含代码、文本、可视化、图像和公式等元素。除单元格外,控制台还包含用于配置笔记本工作流、调试代码、将笔记本导出为不同格式、浏览文档等的各类工具。

作为 Jupyter Notebook 的升级版,JupyterLab 在保持核心组件不变的同时,新增了诸多功能与能力。
JupyterLab 入门
与其他程序一样,要使用 JupyterLab,您首先需要在计算机上安装它。根据您的偏好,可以通过多种方式完成:使用 pip、Anaconda 或 Docker。
使用 pip 安装 JupyterLab
Pip 是 Python 的标准包管理器。要用 pip 安装 JupyterLab,只需在命令行运行:
>>pip install jupyterlab
运行该指令后,pip 会安装 JupyterLab 包以及所有所需依赖。如果您想进一步了解如何在 Python 中管理包,请查看我们的Pip Python 包管理教程。
成功在计算机上安装 JupyterLab 后,运行以下命令即可打开 JupyterLab:
>>jupyter lab
随后,应用会在您常用的网页浏览器中,打开如下地址:http://localhost:8888/lab

使用 Anaconda 安装 JupyterLab
Anaconda 集包管理器、环境管理器与 Python 发行版于一身,包含众多开源包。如果您想开始数据科学之旅,Anaconda 是非常不错的选择。您无需再为如何安装 Python 或 JupyterLab 而烦恼,因为它们会在现代 Anaconda 发行版中自动安装。
启动 JupyterLab 最简单的方法是通过 Anaconda Navigator,这是一款以友好、零代码的方式让您使用 Anaconda 各项功能的应用。如下图所示,Jupyter Notebook 和 JupyterLab 均已安装。您只需点击 Launch 按钮,即可在浏览器中打开 JupyterLab。

不过,在某些情况下(例如创建新的conda 环境)时,您可能需要在该环境中安装 JupyterLab。要做到这一点,最快的方法是在 conda 命令行(Windows 上的 Anaconda Prompt,macOS 与 Linux 上的终端)运行以下命令:
>>conda install -c conda-forge jupyterlab
使用 Docker 安装 JupyterLab
Docker 是一个用于在容器中运行软件的开放平台。这些容器是自包含、相互隔离的进程,允许您将应用与基础设施解耦,从而更快速地交付软件。
如果您已安装 Docker,可以通过选择 Jupyter Docker Stacks 支持的众多 Docker 映像之一来安装并使用 JupyterLab。您可以将这些映像视为预打包的软件集合,运行时可由 Docker 自动下载。
例如,如果您想安装 Docker 映像 jupyter/datascience-notebook(其中包含 Julia、Python 和 R 的数据分析库),只需在 Docker 命令中运行以下指令:
>>docker run -it -p 10000:8888 -e JUPYTER_ENABLE_LAB=yes jupyter/scipy-notebook
有关在 Docker 上使用 JupyterLab 的更多细节与示例,请查看其文档。此外,如需 Docker 的详细入门介绍,我们强烈推荐这篇 DataCamp 教程。
JupyterLab 界面
JupyterLab 的界面是在 Jupyter Notebook 基础上的重制版,提供了一组用于交互式高效计算的模块化构件。JupyterLab 将多种编码工具集成在同一界面中,带来更接近传统 IDE 的编程体验。

JupyterLab 界面主要包括以下元素:
- 工作区。 主要工作区采用全新的选项卡式布局,允许您将不同文档(笔记本、数据文件、HTML、PDF、图像等)和编码工具(终端、代码控制台、文本编辑器等)组合为可通过拖放调整大小或再分割的选项卡面板。与 Jupyter Notebook 不同,基于选项卡的系统让开发者无需离开 JupyterLab 就能完成大多数任务,从而实现更一体化、更高效的编程。
- 左侧边栏。 可折叠的侧边栏包含多种常用选项卡,包括:
- 文件浏览器。 用于管理计算机上的文件与文件夹。
- 选项卡与内核管理器。 提供主工作区中的选项卡列表,以及正在运行的内核和终端列表。
- 目录。 基于 Markdown 单元格标题生成的交互式索引。
- 扩展管理器。 允许您安装新的应用和插件以改进 JupyterLab 体验(见下文)。
- 右侧边栏。 第二个可折叠侧边栏,包含:
- 属性检查器。 可详细查看单元格的信息与属性。
- 调试器(见下文)
- 菜单栏。 JupyterLab 顶部的菜单栏包含可在 JupyterLab 中使用的顶级菜单。具体包括:
- File:与文件和目录相关的操作。
- Edit:与编辑文档及其他活动相关的操作。
- View:更改 JupyterLab 外观的操作。
- Run:在不同活动中运行代码的操作。
- Kernel:管理内核的操作。
- Tabs:工作区中已打开的文档和活动列表。
- Settings:常用设置与高级设置编辑器。JupyterLab 的一大亮点是可以为界面选择不同主题,包括暗色模式。
- Help:JupyterLab 与内核的帮助链接列表。
在 JupyterLab 中调试
调试的目标是在测试过程中定位程序中产生错误的原因,从而调整代码,输出准确且符合预期的结果。
在调试过程中,数据从业者乃至更广泛的软件开发者,会监控程序中变量的交互与变化。您可以通过观察不同函数、方法,甚至每一行代码如何改变变量的取值与功能,来调查程序错误的潜在原因。
Jupyter Notebook 与 JupyterLab 的早期版本内置了用于调试任务的 %debug 魔法命令。不过,与其他 IDE 的调试器相比,该工具相当基础。
好在最新版本的 JupyterLab 默认包含调试器前端,具备传统的调试功能,包括设置断点、单步进入函数和检查变量。您可以从右侧边栏启用它,如下图所示:

JupyterLab 扩展
JupyterLab 本身已是功能强大、装备齐全的工具,新增功能将让您的编码体验更接近 IDE。不过,如果您觉得某些功能有所缺失,或想增强 JupyterLab 的能力,不妨看看 Jupyter 扩展。
JUpyterLab 扩展由 JavaScript 编写,是包含一个或多个插件的软件组件,可为 JupyterLab 增添新功能,例如新主题、文件编辑器和新的命令快捷方式等。
JupyterLab 扩展分为两类:
- 预构建扩展。 安装时不需要重新构建 JupyterLab。
- 源代码扩展。 安装时需要重新构建 JupyterLab。重新构建 JupyterLab 需要已安装 Node.js——一种用于运行 JavaScript 应用的开源跨平台环境。
如果您使用带有 conda-forge 软件源的 conda,可按以下方式获取 Node.js:
>>conda install -c conda-forge nodejs
管理 JupyterLab 扩展的方法有多种,但我们强烈建议您使用内置的扩展管理器。通过左侧边栏上的拼图图标进入,扩展管理器允许您在无需编写代码的情况下安装和禁用扩展。

有关 JupyterLab 扩展及其管理方式的更多信息,请参阅 JupyterLab 文档。
JupyterLab 与 Jupyter Notebook 对比
下面是 Jupyter Notebook 与 JupyterLab 的差异对照表:
|
Jupyter Notebook |
JupyterLab | |
|
发布日期 |
2014 |
2018 |
|
开源? |
是 |
是 |
|
选项卡系统 |
单一选项卡 |
多重、模块化选项卡,尽在一屏 |
|
调试能力 |
%debug 魔法命令 |
调试器 |
|
数据文件查看器 |
将数据文件视为文本文件查看 |
数据可表格形式查看 |
|
编码体验 |
更像独立工具 |
更像 IDE |
|
默认主题 |
白色 |
浅色与深色 |
|
优点 |
|
|
|
缺点 |
|
|
|
未来发展 |
作为旧版遗留存在 |
Jupyter 项目的未来 |
DataLab
如果您在寻找一款在线云端 IDE,既可协作编写代码和分析数据,又能分享数据洞见,DataLab 是绝佳之选。
由 DataCamp 打造的 DataLab 是一款云端数据分析平台,旨在帮助您快速、轻松地上手。使用 DataLab,您可以跳过耗时的环境配置,立刻开始处理数据。无需安装任何东西,一切都可通过浏览器访问。
在使用 DataLab 时,您会发现内置数据集可即刻调用,还有带预写代码的预构建模板。DataLab 适用于各个技能层级,并提供低代码与零代码工具,助您创建精美的报告与可视化。
它还支持 Python 和 R,二者均具备原生 SQL 集成,并预先配置和安装了全球最流行的数据科学包。
在线运行和编辑此教程中的代码
运行代码结语
您已读到最后,恭喜!希望您喜欢这篇关于 JupyterLab 的教程。凭借聚焦交互式、探索式计算的单元格结构,Jupyter 很快成为一款革命性工具,成为数据专业人士的首选 IDE。与 Jupyter Notebook 相比,JupyterLab 更加精致,将笔记本与传统 IDE(如 RStudio 和 PyCharm)的优势融为一体。
因此,如果您是数据科学新手,正在犹豫该选 Jupyter Notebook 还是 JUpyterLab,我们强烈建议您选择后者。想更深入了解 Jupyter?请查看以下 DataCamp 资料:
- JupyterLab 内的 SQL 接口教程
- Jupyter Notebook 教程:权威指南
- Jupyter Notebook 中的 Markdown 教程
- Jupyter Notebook 速查表
JupyterLab 教程常见问答
- 什么是 IDE?
IDE 是旨在让程序员更高效地编写代码和开发软件应用的程序。它们将多种实用工具整合到单一界面,从而提升生产力。 - 什么是 JupyterLab?
JupyterLab 是 Jupyter 最新的基于网页的 IDE,面向笔记本、代码与数据。 - 什么是笔记本(notebook)?
笔记本是一种文档,遵循基于单元格的结构,包含代码、公式、可视化和文本等元素。 - 我能在 JupyterLab 中使用 Python 吗?
可以,此外还支持其他数据科学编程语言,如R 和 Julia - 什么是 JupyterLab 扩展管理器?
它允许您安装新的应用与插件,以改善 JupyterLab 的使用体验。 - 我该选择 Jupyter Notebook 还是 JupyterLab?
鉴于 JupyterLab 是 Jupyter 项目的现在与未来,我们强烈建议您选择 JupyterLab。