JupyterLab 你是真的火了…
5 月 14 号 OpenAI 春季发布会 出现了这个画面:
才知道 JupyterLab 是 OpenAI 的日常开发工具。感谢 OpenAI 亲自带货。
JupyterLab 拥有丰富的功能,并不只是 Python 解释器这么简单,让我来向你们展示它的强大!
〇、安装 JupyterLab
执行以下命令安装 JupyterLab:
mamba install -c conda-forge jupyterlab
Note: mamba 是 miniforge 自带的包管理工具。大多数时候,你可以用
mamba
直接替代conda
,比如mamba info --envs
。使用 mamba 通常可以获得更高的下载速度。
一、制作 PPT
1.1 Notebook 转 PPT
只需两步,就能把 Notebook 转成 PPT:
-
设置 Slide Type:为保证页面被正确渲染,你需要设置 Cell 的
Slide Type
。对于新版 Jupyter Lab,在右侧边栏上有带俩齿轮的按钮,点进去,然后一路点[Property Inspector] -> [COMMON TOOLS] -> [Slide Type]
,在这里对 Cell 进行设置。 -
启动网页应用:打开 Terminal,来到
[YOUR_SLIDE].ipynb
所在路径,运行jupyter nbconvert --to slides [YOUR_SLIDE].ipynb --post serve
这会在浏览器中打开一个 slide 网页应用,你可以用它来做 pre。值得一提的是,这个网页是有路由的。这意味着,如果你的 Jupyter 运行在服务器上,你可以用它来分享特定页面。
以防你不知道,JupyterLab 可以开 Terminal,位置在
[左上 + 号] -> [Other] -> [Terminal]
1.2 PPT 转 PDF
把 PPT 转存 PDF 也很简单:
- 把 PPT 网页路由的
#
号改成?print-pdf
。修改后的网址形如:http://127.0.0.1:8000/[YOUR_SLIDE].slides.html?print-pdf
- 再用 Chrome 打印功能,把网页转存成 PDF 文件
二、运行 Java
在 Jupyter 中运行 Java 要用到 IJava。IJava 是一个 Java 内核,它允许用户使用 IPython 特性进行 Java 编程。
2.1 安装 IJava
- 从 Releases 下载安装包,安装包形如
ijava-[VERSION].zip
- 解压
ijava-[VERSION].zip
,进入文件夹中运行python3 install.py --sys-prefix
- 检查内核是否安装成功
# 列出已安装的内核 jupyter kernelspec list # 尝试在命令行中运行 java 内核 jupyter console --kernel=java
2.2 内核管理
要管理 IJava 内核,我们需要了解一点内核管理命令。以下是一些常用命令:
- 列出内核:
jupyter kernelspec list
- 安装内核:
jupyter kernelspec install [KERNEL_DIRECTORY]
- 移除内核:
jupyter kernelspec uninstall [KERNEL_NAME]
关于换 Kernel 方法,请参见 miniconda3 换 Kernal
Note: 使用
jupyter kernelspec install
安装内核,可使用多项参数,下面是一个示例:jupyter kernelspec install \ ~/miniforge3/share/jupyter/kernels/java \ --sys-prefix \ --name java \ --display-name "Java"
在这个命令中:
~/miniforge3/share/jupyter/kernels/java
是内核路径,可用jupyter kernelspec list
命令查看已安装内核的路径--sys-prefix
选项确保内核在系统范围内可用,而不仅限于特定用户或虚拟环境。这对多用户系统或者需要在全局范围内共享内核的情况非常有用。如果你希望内核仅对当前用户生效应使用--user
选项--name java
指定了内核的名称 (kernel name),这是在编程环境引用内核时使用的名称--display-name "Java"
则设置了在 Jupyter Notebook 或 Jupyter Lab 界面中,显示给用户的名称
三、绘制 Mermaid 图表
Mermaid 是一个流行的图表生成工具。用户可以在 markdown 单元格中使用 Mermaid 语法编写图表代码,并即时渲染。
安装 Mermaid 插件:
jupyter labextension install @jupyter-widgets/jupyterlab-mermaid
Mermaid 图表效果如下:
sequenceDiagram participant Alice participant Bob Alice->>Bob: Hello Bob, how are you? Bob-->>Alice: I am good thanks!
四、查看变量的值
variableInspector 是一个 Jupyter Lab 扩展,它允许用户直接查看交互中的变量。
安装变量查看器:
pip install lckr_jupyterlab_variableinspector
安装后,在 Notebook 空白处,打开右键菜单栏,然后点击 Open Variable Inspector
即可打开变量查看器。
五、在服务器上使用 JupyterLab
在服务器上使用 JupyterLab 有诸多好处。比如无需再用 sz rz
传输文件,右击文件即可下载,拖拽文件即可上传。
5.1 启动 JupyterLab
# 对于 HTTP,使用 80 端口
jupyter lab --ip='0.0.0.0' --port=80 --no-browser --allow-root
# 对于 HTTPS,使用 443 端口
jupyter lab --ip='0.0.0.0' --port=443 --no-browser --allow-root
Note: 如需后台静默运行,大人请用:
nohup [CMD] &
5.2 绑定域名
将 Jupyter Lab 服务绑定到 HTTPS 域名,需要经历以下步骤:
- 在域名提供商处,添加一条域名解析记录
- 在域名提供商处,将 DNS 解析绑定到 DNS 提供商
- 在 DNS 提供商那里,新增一条 DNS 解析记录
- 在域名提供商购买或者薅一个 SSL 证书,并和域名绑定
- 下载证书文件(俩文件,后缀是
.pem
和.key
),然后运行
这会生成一个 Jupyter 配置文件。打开配置文件,新增两条配置:jupyter lab --generate-config
c.ServerApp.ssl_certfile = '[DIR]/[PEM_FILE_NAME].pem' c.ServerApp.ssl_keyfile = '[DIR]/[KEY_FILE_NAME].key'
对于不同的 PaaS 供应商,操作不同,这里就不详述了。
六、合并 ipynb 文件
nbmerge
支持将多个 ipynb 文件合并成一个文件。
安装 nbmerge
:
pip install nbmerge
安装完成后,使用以下命令合并文件:
nbmerge file1.ipynb file2.ipynb file3.ipynb > merge.ipynb
七、显示代码运行时间
jupyterlab-execute-time 插件能记录并显示每个代码单元格的执行时间。
安装插件:
pip install jupyterlab_execute_time
显示效果: