JupyterLab教程:程序员的笔记本神器v2.0

树莓派学前知识--使用Jupyter Lab软件进行Python开发 Jupyter Lab作为一种基于web的集成开发环境,可以使用它编写notebook、操作终端、编辑markdown文本、打开交互模式、查看csv文件及图片等功能。我们可以把Jupyter Lab 当作一种究极进化版的Jupyter Notebook。官方网站• 交互模式:Python交互式模式可以直接输入代码,然后执行,并立刻得到结果,因此Python交互模式主要是为了调试Python代码用的。 阅读详情

之前写过一份JupyterLab的使用教程,但是随着个人使用时间的增加和更多优秀插件的出现,断断续续我基于JupyterLab:v3.0+衍生出了自己的最佳实践,本篇文章将从以下方面更加全面地介绍JupyterLab:

  • 搭建安装

  • 基本功能

  • 插件推荐

  • 容器化最佳实践

最终成品如下图所示,有兴趣的话一起来使用看看吧 ✨

f7a554342b6fc4aad2fdda288bd1eca9.png

介绍

了解JupyterLab之前先说下什么是Jupyter Notebook,简单来说它是一个交互式的开发环境,其提供了在Web上编写运行代码的能力,还可以同时使用md语法编写文档。

而JupyterLab是Jupyter Notebook的下一代产品,如今已经发展到第三个大版本了,其主要优势有:

  • 更现代化的界面设计和更灵活的架构

  • 提供终端交互和文件浏览器

  • 结合插件可以快速打造成 Web 上的 IDE 笔记本

通过使用JupyterLab,我们能够以灵活,集成和可扩展的方式处理代码与文档,对于以下人群非常有帮助:

  • 随时随地希望试验一些代码片段,如 Python、Julia、R、Go、Scala 等

  • 大数据开发&机器学习进行数据分析、处理、建模等

  • 作为笔记本,可以将代码的输入输出解释直接导出成笔记文档,结合插件还可以绘制流程图等

安装

接下来,我将以 Python 为默认语言来搭建JupyterLab,这里我为了获取一个干净的环境直接使用Docker进行构建:

docker run -it --name jupyter_test -p 8888:8888 python:3.7-slim /bin/bash

用Docker目的是方便出错后删除重来,这里仅做演示,大家直接在本机操作即可,只需要确认你安装好了Python基本环境就行:

# Input
python

# Output
Python 3.6.15 (default, Oct 13 2021, 09:43:57)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.

有了Python环境就可以直接安装JupyterLab:

# 先换源
pip config set global.index-url https://pypi.douban.com/simple/
# 一行命令搞定
pip install jupyterlab

这一行命令我们就已经安装好了JupyterLab,启动起来试试看吧:

jupyter lab --allow-root --no-browser

直接访问:http://127.0.0.1:8888/lab?token={TOKEN}就能看到界面了!怎么样,方便吧。但是要想更加优雅地使用JupyterLab,还是得进行一些配置,让我们继续吧。

基本功能

设置密码

每次启动JupyterLab默认是通过Token的形式进行访问的,但是Token每次都不一样,而且还会过期,所以我们还是设置成密码的形式进行访问吧:

# 进入python交互环境
python

生成密码:

from notebook.auth import passwd
passwd()
# 输入你自己设置登录JupyterLab界面的密码 然后会有一串输出,记得复制下来,等会配置需要使用

修改JupyterLab 配置文件:

# Input
jupyter lab --generate-config

# Output
Writing default config to: /root/.jupyter/jupyter_lab_config.py

编辑这个文件vim /root/.jupyter/jupyter_lab_config.py,设置以下参数:

c.ServerApp.allow_root = True
c.ExtensionApp.open_browser = False
c.ServerApp.password = 'argon2:$argon2id$v=19$m=10240,t=10,p=8$C2MHPsnHYOGQBXF30d7eag$bdeIwZFwzt7HOYkTECRPVA'
jupyter lab

此时再次进入http://127.0.0.1:8888/就需要输入密码了,为了方便后续一些功能的演示,我们顺便建立一个交互式脚本吧,操作流程如下图:

349483018f8edb1fdf7a7ff8771408d3.png

代码交互

代码提示

进入文件后,我们先使用!pip install numpy安装一个第三方库用于测试。在代码关键字后按Tab即可看到代码提示:

3dc1ea61fe32a7315c8be3a48b3e5c57.png

文档注释&查看

按Shift + Tab即可看到文档注释提示:

a5728a5fd341d067d362a77063946114.png

注:如果代码提示功能有问题,设置下jedi版本,pip install jedi==0.17.2。

对于数据科学方向的程序员来说,一些常用库的文档查看特别方便,Jupyterlab已经将常用文档内置,还提供了关键函数搜索功能,再也不用打开官方文档查找了:

376913ab54effa04dd9ef1d41ee97746.png

代码调试

JupyterLab默认支持代码调试,使用也很简单,点击右上角的Bug图标开启即可:

afabd421819f0d5f05ae18913d28cb2e.png

文档多窗口

一般开发者的屏幕都是比较大的,这个功能特别适合左边窗口实验代码,右边看教程文档的情景:

dd2b3b5dc6715f57a567a95274cf0d76.png

cell可以拖拽且输出可以新窗口显示

badc1f1b55087c94a0b051337fa6a032.png

随时启动新的终端交互

96e50430f71c96d596f76cab8130a2bf.png

TOC 目录

JupyterLab脚本是可以编写MD文本的,为了方便代码的可读性,侧边栏提供了目录展示功能,程序员可以更加方便地对自己代码进行管理:

5c3d2f171cbea8621634ea1b67976441.png

风格设置

按键风格

支持vim emacs等按键风格:

4e21b4521a8b68e0214a20786580a5ce.png

界面&代码主题

JupyterLab默认提供了黑暗&明亮两种主题,开发者可以自由使用,如果对于主题有更多要求,接下来在插件部分我会介绍我使用的插件主题:

495964b611c1fb769dd60ba8dcc49463.png

编辑器界面主题设置:

f5a683d03adbf26b6784c6e5ab9c9f51.png

插件

JupyterLab本身的功能了解上面那么多就已经够日常基本使用了,但是社区的开发者还是贡献了很多有意思的插件。接下来我会介绍一些比较基础但又很实用的插件,让大家的效率进一步提升。

jupyterlab_code_formatter[1]

代码格式写插件,我使用的是Python,用这个插件可以设置保存的时候自动用black和isort进行代码格式化,安装:

# 安装插件
pip install jupyterlab_code_formatter
# 安装格式化工具
pip install black isort

安装完成后,脚本界面右上角就会有一个格式化按钮,开发者也可以设置保存就触发格式化:

4af34c0dad426d6896176f085678f310.png

ipydrawio[2]

开发者除了日常开发,还有文档编写工作,涉及到文档编写,基本上都会涉及到流程图绘制需求,ipydrawio则可以让你方便地在JupyterLab绘制流程图,安装:

pip install ipydrawio[all]

使用起来也非常方便,还可以分享出去,支持绘制的类型如下:

07bbf3e5ef6728fb9caee1d4b8d7f8aa.png

安装成功后和之前新建脚本的方式一样绘制流程图:

562d52e24a281bc59bf2fd883e9f4a6c.png

jupyterlab-unfold[3]

这个插件让JupyterLab的文件浏览具有了和 IDE 一样的功能,原本JupyterLab在目录间跳转是一级一级进出,有了这个插件可以按照目录树的形式进行操作,极大地提升了打开不同目录下脚本的效率。

pip install jupyterlab-unfold

使用效果截图:

6e0ce122ed3922245d78283bd62a28d0.png

Theme

JupyterLab本身仅提供了简单的黑白两套主题,但是我对代码主题还是挺有追求的,所以也在社区找了下看是否有比较好的主题实现,万幸我个人常用的主题都有其他人开源了出来,大家有兴趣了可以试试:

  • theme-darcula[4]:非常漂亮的Darcula主题,目前在JupyterLab主题里面热度最高

  • jupyterlab-theme-solarized-dark[5]:Solarized 黑暗主题,效果可以看第一部分的效果展示图

安装:

pip install theme-darcula
pip install jupyterlab-theme-solarized-dark

Darcula主题效果图如下:

e827e1315b2e4fb933f786fb18fb30cd.png

汉化

官方针对中文用户提供了汉化包,还是挺良心的:

pip install jupyterlab-language-pack-zh-CN

效果如下:

e1cabe7a54b50efd2625836c287244d6.png

容器化最佳实践

为了方便在不同系统环境下能够快速使用JupyterLab,于是我选用Docker构建镜像,这样可以直接将配置和插件全部统一为镜像,这样有以下好处:

  • 跨平台,其他平台只要安装Docker就可以一键使用JupyterLab

  • 插件配置:

    • 保存则自动代码格式化

    • 主题支持:Solarized和Darcula

    • 中文汉化支持,默认还是英文

    • 代码变量跳转支持

    • 流程图、目录树等

  • 终端支持oh my zsh

所以上面介绍了这么多,你只需要看一遍下来熟悉下相关概念即可,倒是不用从头都搭一遍,如果你要使用,运行下面这行命令即可:

docker run --name jupyter_pylab -it -d --restart=always -p 0.0.0.0:8765:8888 -e SHELL="/bin/zsh" -v "`pwd`:/project-dir" howie6879/jupyter-lab-for-python37:v3.1.4 --allow-root --no-browser --port=8888

享受JupyterLab吧,如有错漏,请留言交流,谢谢。

参考资料

[1]

jupyterlab_code_formatter: https://github.com/ryantam626/jupyterlab_code_formatter

[2]

ipydrawio: https://ipydrawio.readthedocs.io/en/stable/

[3]

jupyterlab-unfold: https://github.com/jupyterlab-contrib/jupyterlab-unfold

[4]

theme-darcula: https://github.com/telamonian/theme-darcula

[5]

jupyterlab-theme-solarized-dark: https://github.com/AllanChain/jupyterlab-theme-solarized-dark

4275bd57e7e3138d1254123d73505073.gif

NVDashboard v0.10:JupyterLab中的GPU实时监控工具 GPU性能监控是数据科学和高性能计算中的关键技术,通过实时跟踪计算利用率、显存占用等核心指标,开发者可以优化资源使用效率。NVDashboard作为JupyterLab的扩展工具,采用WebSocket技术实现毫秒级数据更新,大幅提升了监控实时性。该工具特别适用于深度学习模型训练、CUDA程序优化等场景,能帮助开发者快速定位性能瓶颈。最新v0.10版本通过架构重构和用户体验升级,成为GPU监控领域的标杆解决方案,其低延迟特性与JupyterLab的深度集成,为AI研发和高性能计算提供了强有力的支持。 阅读详情

相关推荐

JupyterLab实战指南:从零搭建可协作分析工作台

JupyterLab是一种基于Web的交互式计算工作台,其核心在于可组合式界面与内核共享机制,区别于传统Notebook的线性文档模式。它通过Jupyter Server统一调度多个进程(notebook、terminal、file browser等),依托ZeroMQ消息协议实现跨组件状态同步,从而支撑非线性分析流程。技术价值体现在多用户隔离、轻量级Widget嵌入能力及生产级安全控制,广泛应用于金融风控、生物信息、工业智能等需协同建模与合规审计的场景。本文聚焦JupyterLab真实部署中的环境管理、内

weixin_30788239的博客 293

JupyterLab入门

JupyterLab是Jupyter Notebook的全面升级,是一个集文本编辑器、终端以及各种个性化组件于一体的全能IDEJupyterLab支持更多数据格式的预览与修改,除了代码文件(.py、.cpp、.java等),还包括CSV、JSON、Markdown、PDF、PPT等JupyterLab是一个加强版的资源管理器和交互模式下的Python,能让我们可视化地进行一些数据操作JupyterLab的执行文件被称作notebook,它的后缀是.ipynb。

Java/Python大数据随笔 8909

【好物推荐】JupyterLab,用于笔记本、代码或数据的编写Python

JupyterLab ,是一个基于 Web 的交互式开发环境,用于笔记本、代码或数据的编写。JupyterLab ,是 Jupyter Notebook 的下一代用户界面,提供了更加灵活和强大的工作空间。JupyterLab ,支持多种编程语言(如 Python, R, Julia 等)通过内核进行执行,并且可以处理各种文件格式。JupyterLab ,为数据科学家、研究人员以及开发者提供了一个非常强大的工具来探索数据、编写代码和分享成果。

奶爸的编程之路,也就一周冷个三天 1151

JupyterLab 简介

常用Markdown记笔记的同学肯定很熟悉toc,就是目录的意思。安装后侧边栏中可以显示Notebook和Markdown中的目录,方便定位。是一个代码自动补全的工具,除此之外,它还可以自动查询文档,遇到一些复杂的函数,再也不用一边谷歌一边写代码了。自带的主题只有Light和Dark两个,但是好在我们可以在插件管理器中下载第三方的主题,我用的是。项目,并且打开项目里面的文件。一样简单,只需要在命令行中输入下面的指令,中打开终端,例如需要pip安装的时候。中编辑各种格式的文件,例如我现在就在。

yygr的博客 1万+

Qwen3.6-27B本地部署实战:LM Studio配置、硬件门槛与避坑指南

大语言模型本地部署是当前AI工程落地的核心能力之一,其本质是将高参数量模型(如27B级)在受限硬件环境下实现低延迟、高稳定推理。关键技术原理涵盖量化压缩(如GGUF格式与q4_k_m精度权衡)、GPU显存分配策略(KV Cache管理与Offloading机制)、以及运行时环境兼容性(CUDA驱动、llama.cpp后端版本)。该能力直接决定私有化AI应用的技术可行性与成本边界,广泛应用于企业知识库构建、代码辅助、长文档分析等对数据主权和响应确定性要求高的场景。本文聚焦Qwen3.6-27B这一典型27B模

weixin_33272631的博客 468

PCB压合原理与工艺全流程深度解析

PCB压合是多层印制电路板制造中的核心工序,其本质并非简单物理叠加,而是高分子树脂流动、玻璃布应力释放、铜箔热膨胀及界面能调控的协同过程。理解压合原理,需掌握温度-压力-时间三维曲线动态关系;优化工艺流程,须兼顾叠板精度、热压参数匹配与冷却策略;关键影响因素如半固化片(PP)选型、铜箔表面处理、设备温场均匀性、结构对称性、环境湿度及操作手法,共同决定层间结合力、翘曲度与孔壁质量。本文围绕PCB压合原理、工艺流程、关键影响因素三大维度展开,融合IPC标准、实测数据与产线案例,为工艺工程师、NPI人员及设备维护

weixin_29191081的博客 259

jupyterlab是什么

简介JupyterLab 是一个交互式的 Web 应用,为 Jupyter Notebooks、代码和数据提供了统一的工作环境。它扩展了 Jupyter Notebook 的功能,增加了更多的工具和灵活性。主要功能多文档界面:支持多个文档和视图并排工作,包括 Jupyter Notebooks、终端、文本编辑器、图形控制台和富媒体输出。文件浏览器:集成文件浏览器,支持文件的查看和操作。插件系统:支持第三方扩展和插件,用户可以自定义和扩展功能。内嵌终端。

m0_57236802的博客 1804

因时机器人-灵巧手配置方案(Ubuntu18.04)

因时机器人-灵巧手配置方案(Ubuntu18.04)

CH_monsy的博客 3854

JupyterLab使用教程

JupyterLab使用教程:程序员JupyterLab使用教程:程序员。

mr_kingsss的博客 1018

基于qiime2的16S数据分析全流程:从导入数据到下游分析一条龙

基于qiime2的16s测序数据分析分析激活qiime环境我已经把上面这句代码放在了.bashrc里面,因此激活qiime2环境只需要运行activate_qiime即可/bin/bash# 设置目录路径# 输出表头 echo -e "sample-id\tforward-absolute-filepath\treverse-absolute-filepath"# 遍历_R1和_R2文件do # 检查R1文件是否存在then# 获取样本ID(去掉_R1.fastq.gz)

2301_76771985的博客 5528

别再只调电压了!深入理解数控电源的CC/CV模式与双闭环PID控制(以BUCK电路为例)

本文深入解析数控电源的CC/CV模式与双闭环PID控制技术,以BUCK电路为例,探讨如何通过双闭环控制优化负载突变响应和模式切换稳定性。文章详细介绍了电压环与电流环的协同工作原理、PID参数整定技巧及工程实践中的非线性补偿方法,帮助工程师提升电源设计的智能控制能力。

weixin_27017211的博客 266

JupyterLab插件推荐:提升TensorFlow 2.9开发效率的五大神器

基于TensorFlow 2.9容器环境,精选五个JupyterLab实用插件:目录导航、Python文件生成、代码格式化、内嵌TensorBoard和Git集成,显著提升深度学习开发效率。这些工具协同工作,减少环境配置与协作成本,让开发者专注模型设计与实验迭代。

weixin_28235889的博客 840

【QNX Hypervisor 2.2 用户手册】2.6 处理qvm终止

你可以注册通知,以在qvm进程实例退出时得到通知。这样你就可以采取相应的措施来响应这种终止事件。

从0到1,突破自己 1108

的安装配置_JupyterLab安装配置教程

jupyterLab安装配置教程2020-02-13 16:43:59服务器信息:Distributor ID: UbuntuDescription: Ubuntu 18.04 LTSRelease: 18.04Codename: bionic准备工作更新服务器软件列表首先,更新下列表,装一下依赖sudo apt-get updatesudo apt-ge...

weixin_39952937的博客 1244

YOLOv11缝合改进Conv | SAConv在YOLOv11中的应用可切换空洞卷积与性能提升(附代码)

在本篇文章中,我们将深入探讨如何通过引入**SAConv**(Switchable Atrous Convolution,可切换空洞卷积)来优化YOLOv11网络结构,特别是在卷积操作方面的创新。我们会解析SAConv的核心原理和架构设计。

一键难忘的博客 955

【Flink】Flink 消费一段时间1万多条数据就卡死

我们有个现场环境,发现了奇怪的现象,就是每次启动任务后,消费1万多条数据后就会卡死,然后整个流不消费,也不往下输出,看起来卡死了一样。缺图这里面出现的网闸原因导致的,但是经过我们写了一个简单的kafka消费程序,然后在出问题的节点上消费数据,实际排查,发现不是这个问题。这个问题,发现也不是,这段时间没有进行过kafka数据清理。里面的问题。因为这个问题,我们后面的代码刻意规范了,不这样操作。后来是在没办法了,然后我们dump了线程,发现有如下代码。

九师兄 352

jupyter配置到服务器_jupyterLab安装配置教程

服务器信息:Distributor ID: Ubuntu Description: Ubuntu 18.04 LTS Release: 18.04 Codename: bionic准备工作更新服务器软件列表首先,更新下列表,装一下依赖sudo apt-get update sudo apt-get upgrade sudo apt-get -y install gi...

weixin_42302142的博客 1165

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

tomcat9.0安装及配置教程_jupyterLab安装配置教程

服务器信息:Distributor ID: Ubuntu Description: Ubuntu 18.04 LTS Release: 18.04 Codename: bionic准备工作更新服务器软件列表首先,更新下列表,装一下依赖sudo apt-get update sudo apt-get upgrade sudo apt-get -y install gi...

weixin_39883440的博客 401

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

为多用户安装conda_jupyterLab安装配置教程

jupyterLab安装配置教程2020-02-13 16:43:59服务器信息:Distributor ID: UbuntuDescription: Ubuntu 18.04 LTSRelease: 18.04Codename: bionic准备工作更新服务器软件列表首先,更新下列表,装一下依赖sudo apt-get updatesudo apt-ge...

weixin_30015521的博客 1427

PyTorch-2.x-Universal镜像部署教程:JupyterLab快速启动步骤

本文介绍了如何在星图GPU平台上自动化部署PyTorch-2.x-Universal-Dev-v1.0镜像,快速搭建深度学习开发环境。基于该平台,用户可一键启动JupyterLab,用于模型训练、数据可视化等典型任务,显著提升AI研发效率。

weixin_34885746的博客 328

远程访问Linux服务器的JupyterLab

目录1、登录远程Linux服务器2、安装JupyterLab3、生成配置文件4、设置密码5、修改配置文件6、安装Node.js7、启动JupyterLab8、远程访问指定的端口,服务器对外开放指定的端口,服务器不对外开放 本文的配置方法对于Jupyter Notebook一样有效 1、登录远程Linux服务器 2、安装JupyterLab pip install jupyterlab 3、生成配置文件 jupyter notebook --generate-config #生成的文件位于:~/.jupyt

John's Blogs 2042

开箱即用神器:PyTorch-2.x-Universal-Dev-v1.0数据可视化环境实测

本文介绍了如何在星图GPU平台上自动化部署PyTorch-2.x-Universal-Dev-v1.0镜像,快速搭建开箱即用的深度学习开发环境。该镜像预装了完整的数据可视化工具链,用户可立即使用Matplotlib等库进行模型训练过程的可视化分析,例如绘制损失与准确率曲线,从而高效评估模型性能。

weixin_42298164的博客 30

vLLM-v0.11.0小白教程:利用PagedAttention技术轻松管理大模型内存

本文介绍了如何在星图GPU平台上自动化部署Vllm-v0.11.0镜像,以利用其PagedAttention技术高效管理大语言模型推理内存。通过该平台,用户可以快速搭建服务,轻松实现大模型的高并发文本生成与对话应用,显著提升推理效率并降低显存成本。

weixin_42126677的博客 191

PyTorch-2.x-Universal-Dev-v1.0功能全测评,这些特性太实用了

本文介绍了如何在星图GPU平台上自动化部署PyTorch-2.x-Universal-Dev-v1.0镜像,快速构建高效的深度学习开发环境。该镜像预集成PyTorch、CUDA及常用数据科学库,适用于文本分类、图像处理等典型AI任务,显著提升模型训练与微调的部署效率。

weixin_28235889的博客 663

PyTorch-2.x-Universal-Dev-v1.0镜像体验:快速部署,立即开始写代码

本文介绍了如何在星图GPU平台上自动化部署PyTorch-2.x-Universal-Dev-v1.0镜像,快速构建开箱即用的深度学习开发环境。该镜像预装了PyTorch、CUDA及常用数据科学库,用户可立即投入模型开发与训练,典型应用如快速搭建并训练一个图像分类模型,极大提升了项目启动效率。

weixin_30978239的博客 73

HY-Motion 1.0镜像免配置:集成JupyterLab便于研究人员交互调试

本文介绍了如何在星图GPU平台上自动化部署HY-Motion 1.0镜像,该镜像集成了JupyterLab,便于研究人员交互式调试。通过该平台,用户可免去复杂的环境配置,快速启动一个开箱即用的3D动作生成环境,并直接应用于从文本描述生成角色动画(如行走、转身、挥手等动作)的创意与研究工作。

weixin_42511832的博客 560
上一篇: 我的周刊(第013期)
下一篇: 我的周刊(第014期)
老胡的储物柜
博客等级 码龄12年 1145粉丝 284原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值