JupyterLab是一个基于Web的交互式开发环境,是Jupyter Notebook的下一代用户界面。它提供了一个现代化、灵活的工作流程,支持各种语言的交互式计算、数据处理和可视化。JupyterLab不仅支持Notebook,还提供了许多新的特性,例如文件编辑器、终端、代码控制等,使得用户可以在同一个环境中进行多种任务。
为什么要使用jupyterlab
使用JupyterLab相对于传统的IDE的主要好处有以下几点:
交互性:JupyterLab可以轻松地与Python交互,可以在Notebook中执行代码,直接看到输出,也可以使用Markdown语法编写文档和注释,方便快捷。
可视化:JupyterLab支持各种各样的图形、表格和其他可视化工具,能够方便地进行数据分析和展示。
分享:Jupyter Notebook可以轻松地分享给其他人,可以导出为HTML、PDF等格式,也可以通过GitHub等平台进行共享。
扩展性:JupyterLab支持各种各样的插件和扩展,能够满足不同用户的需求,也可以开发自己的扩展。
安装
一条命令安装即可
1 | pip install jupyterlab |
除了使用 pip 命令安装后,还可以使用 Anaconda 来安装。安装好 Anaconda 后使用命令安装 Jupyter Notebook,安装命令如下:
1 | conda install jupyter notebook |
然后新建一个我们的项目目录demo
1 | cd demo |
启动
1 | jupyter-lab |
这里交互窗口分为三类,我们创建一个Notebook Python3
即可。
Notebook 文件是 Jupyter Notebook 的主要工作单元。每个 Notebook 文件包含一系列代码和 Markdown 文本单元格,以及对应的输出结果。Notebook 文件可以保存为 .ipynb 格式的文件,方便日后查看和分享。
我们首先可以为自己新建的ipynb文件取名。
相关概念
模式
Jupyter Notebook 有两种模式:命令模式和编辑模式。
在命令模式下,可以使用快捷键操作 Notebooks 的整体结构。在这种模式下,单元格被选中,并且键盘输入的是命令,而不是编辑单元格中的内容。命令模式下按Enter进入编辑模式。
在编辑模式下,可以编辑单元格的内容。在这种模式下,单元格被选中,并且可以键入或编辑内容。编辑模式下按ESC进入命令模式。
cell
Jupyter Notebook中的Cell是一种基本的文本编辑和代码执行单元。每个Cell可以包含文本、代码或其它多媒体内容。通常,我们使用Cell来写代码或运行Python代码,也可以使用Cell来撰写文本说明、注释或Markdown文档。每个Cell的执行方式是独立的,这使得我们可以按照需要单独执行或测试代码。同时,每个Cell还可以随时修改或编辑,这使得对于代码或文档的修改变得容易和直观。
Kernel
jupyter Notebook 使用 Kernel 来执行代码。一个 Kernel 可以理解为一个运行代码的环境,可以是 Python、R、Julia 等不同的语言。在同一个 Notebook 文件中,可以切换不同的 Kernel 来执行不同的代码。
架构
Notebook 和 Kernel 之间采用的是内核客户端架构,即 Notebook 是客户端,Kernel 是服务器端。这种架构可以让 Notebook 在不同的操作系统和计算机上执行代码,并且可以方便地切换不同的 Kernel 来执行不同的代码。
使用
运行Cell
- Ctrl + Enter 运行本栏代码,保持在本栏并进入命令模式
- Shift + Enter 运行本栏代码,跳到下一栏并进入命令模式
- Alt + Enter 运行本栏代码,跳到下一栏并进入编辑模式
增加Cell
在编辑时往往需要插入新的Cell,快捷键都是在命令模式下进行的
- a 在本栏代码前增加一栏,并跳到新增加的一栏,仍处在命令模式下
- b 在本栏代码后增加一栏,并跳到新增加的一栏,仍处在命令模式下
删除Cell
在编辑时,有些无用的代码栏或空白栏需要删除,首先进入命令模型下,通过上下键跳到需要删除的代码栏
- dd 删除当前Cell,并自动跳到下一Cell,仍处在命令模式下
Cell Code 和 Markdown 切换
当新增一栏后,默认是 Code 模式,如何切换到 Markdown 模式,可以使用如下快捷键。快捷键都是在命令模式下进行
- m 切换到 Markdown 模式,仍处在命令模式下,按下 Enter 可进入编辑模式
- y 切换到 Code 模型,仍处在命令行模式下,按下 Enter 可进入编辑模式
代码补全与代码提示
- tab 补全代码
- shift + tab 光标放在某个变量、函数、类上,按下快捷键,进行doc提示
注意
当前最新版jupyterlab在ubuntu chrome上似乎有bug,使用一段时间后非常卡顿,感觉像是内存泄漏。如果出现这个问题尝试在firefox上跑。
1 | jupyter lab --browser=firefox |