JupyterLab 使用与开发全指南:安装、运行、扩展与架构解析

发布时间:2026/9/21 14:03:53

JupyterLab 使用与开发全指南:安装、运行、扩展与架构解析 JupyterLab 使用与开发全指南安装、运行、扩展与架构解析【免费下载链接】jupyterlabJupyterLab computational environment.项目地址: https://gitcode.com/gh_mirrors/ju/jupyterlabJupyterLab 是 Project Jupyter 推出的下一代交互式计算环境在经典 Jupyter Notebook 的记事本、终端、文本编辑器、文件浏览器与富文本输出等基础上提供了更加灵活、可扩展的统一用户界面。本文以仓库根目录 README.md 为骨架结合仓库内服务端实现jupyterlab/labapp.py、pyproject.toml与前端包结构packages/application/package.json系统讲解 JupyterLab 的安装、启动、运行模式、扩展机制与开发参与方式帮助读者快速上手并理解其内部运行原理。JupyterLab 是什么按 README 的定义JupyterLab 是一个基于 Jupyter Notebook 与 Jupyter 架构的可扩展、支持交互与可复现计算的运行环境是 Project Jupyter 的下一代用户界面。它把经典 Jupyter Notebook 中大家熟悉的积木块——记事本Notebook、终端Terminal、文本编辑器Text Editor、文件浏览器File Browser、富输出Rich Outputs等——整合进一个灵活而强大的统一界面中。与经典 Notebook 单文档的单页模型不同JupyterLab 采用多文档、多面板的 IDE 式布局你可以并排打开多个笔记本、终端与文件拖拽调整面板位置并将多个文档组织成可保存、可分享的工作区Workspace。前端核心包 packages/application 中可以看到整个界面建立在 Luminolumino/application、lumino/widgets、lumino/commands、lumino/signaling插件化应用框架之上并由jupyterlab/docregistry、jupyterlab/rendermime、jupyterlab/services等模块提供文档注册、渲染与内核服务通信能力。安装 JupyterLab使用 conda / mamba / pip 一键安装README 提供了三种最主流的安装方式任选其一即可# 使用 conda conda install -c conda-forge jupyterlab # 使用 mamba mamba install -c conda-forge jupyterlab # 使用 pip pip install jupyterlabconda-forge渠道的预编译包通常能避免编译依赖适合科学计算环境pip 方式则与现有 Python 虚拟环境无缝集成。从 pyproject.toml 的打包配置看JupyterLab 4.x 要求 Python 3.10依赖的核心组件包括jupyter_server2.19.0,3、jupyterlab_server2.28.0,3、notebook_shim0.2、tornado6.2.0以及jupyter-lsp2.0.0等安装后会自动注册为 Jupyter Server 的服务器扩展。关于pip install --user的 PATH 问题README 特别提醒如果使用pip install --user安装必须把用户级bin目录加入PATH环境变量才能直接运行jupyter lab。在类 Unix 系统FreeBSD、GNU/Linux、macOS上执行export PATH$HOME/.local/bin:$PATH如果遇到 Command jupyter not found 错误一般就是 PATH 未配置正确。此时可以不修改 PATH直接使用完整路径启动~/.local/bin/jupyter lab使用旧版本 Jupyter Notebook 5.3时README 指出当搭配的 Jupyter Notebook 版本早于 5.3 时安装 JupyterLab 后还需手动启用其服务器扩展jupyter serverextension enable --py jupyterlab --sys-prefix如果使用新版 Jupyter Notebook / Jupyter Server则无需手动操作。仓库中的 jupyter-config/jupyter_server_config.d/jupyterlab.json 与 jupyter-config/jupyter_notebook_config.d/jupyterlab.json 展示了安装包自带的两份配置前者在ServerApp.jpserver_extensions中声明jupyterlab: true后者在NotebookApp.nbserver_extensions中声明同样的开关分别保证 JupyterLab 服务器扩展被 Jupyter Server 与旧版 Notebook 自动加载。启动 JupyterLab安装完成后在终端执行jupyter labJupyterLab 会自动在浏览器中打开。若要查看更多启动选项可查看 jupyterlab/labapp.py 中LabApp的examples字段它给出了几种常见用法jupyter lab # 启动 JupyterLab jupyter lab --dev-mode # 开发模式启动无扩展需 pip install -e . 源码安装 jupyter lab --core-mode # 核心模式启动无第三方扩展 jupyter lab --app-dir~/myjupyterlabapp # 以指定应用目录特定扩展组合启动 jupyter lab --certfilemycert.pem # 使用 SSL/TLS 证书启动三种运行模式LabApp的description与initialize_templates方法把 JupyterLab 归纳为三种运行模式理解它们有助于排查资源路径问题核心模式Core mode--core-mode直接使用已安装的jupyterlabPython 包内自带的 JavaScript 静态资源不加载任何第三方扩展。这是稳定版在没有安装扩展时的默认行为。实现上见 jupyterlab/labapp.py会把static_paths/template_paths指向包内的static目录并清空labextensions_path。开发模式Dev mode--dev-mode使用仓库dev_mode目录中未发布的本地 JavaScript 包页面顶部会出现红色条纹提示。仅当 JupyterLab 以pip install -e .方式安装时可用适合前端源码开发。应用模式App modeJupyterLab 允许用户创建多个携带不同扩展组合的应用通过--app-dir指定应用目录默认应用目录可通过jupyter lab path查询。与之配套的子命令在LabApp.subcommands中注册jupyterlab/labapp.pyjupyter lab build # 构建应用staging 目录编译后输出到 static jupyter lab clean # 清理应用目录staging/extensions/settings/static jupyter lab path # 打印应用、用户设置、工作区等目录路径 jupyter lab workspace # 工作区导出/导入/列出子命令 export/import/list jupyter lab licenses # 查看应用使用的前端包许可证其中jupyter lab build支持--dev-build、--minimize、--app-dir、--debug-log-path等参数。LabBuildAppjupyterlab/labapp.py中的两个关键开关值得注意dev_build控制使用 dev 构建还是更精简的 production 构建。默认绝大多数用户为Falseproduction但一旦安装了来自本地文件的 labextensions默认会切换为True显式设置False可强制在所有场景下使用 production 构建。minimize控制 Rspack 构建时是否压缩 JS bundle有助于提升 JupyterLab 整体性能在低内存环境构建失败时关闭压缩往往能解决问题。若需对全部构建关闭这两个选项可在任意 Jupyter 配置目录下新建jupyter_config.py并写入c.LabBuildApp.minimize False c.LabBuildApp.dev_build False配置文件目录列表可用jupyter --paths查看。应用相关目录与路径通过jupyter lab pathLabPathApp见 jupyterlab/labapp.py可打印三类路径它们也分别支持环境变量覆盖应用目录Application directory默认由JUPYTERLAB_DIR环境变量配置用户设置目录User Settings directory默认由JUPYTERLAB_SETTINGS_DIR配置否则回退到默认 Jupyter 配置目录下的/lab/user-settings工作区目录Workspaces directory默认由JUPYTERLAB_WORKSPACES_DIR配置否则回退到默认配置目录下的/lab/workspaces。支持的浏览器README 明确列出当前已知可正常工作的最新版浏览器FirefoxChromeSafari新版 Chromium 内核浏览器一般也能获得良好支持。若在浏览器中遇到渲染异常优先检查浏览器是否升级到最新版本以及前端静态资源static目录是否与当前 JupyterLab 版本匹配。扩展机制让 JupyterLab 无限扩展JupyterLab 的扩展性是其核心设计目标之一。README 说明其扩展分为两类预构建扩展Prebuilt extensions可通过 PyPI、conda 等包管理器分发安装后无需额外构建步骤开箱即用。源码扩展Source extensions直接通过 npm 安装可搜索jupyterlab-extension关键词的 npm 包但需要额外的构建步骤。从 Python 侧看pyproject.toml 声明了扩展管理器的入口点[project.entry-points.jupyterlab.extension_manager_v1] readonly jupyterlab.extensions:get_readonly_manager pypi jupyterlab.extensions:get_pypi_managerLabApp.extension_manager配置项默认值为pypi见 jupyterlab/labapp.py用于选择扩展管理器工厂readonly提供无安装能力的只读管理器pypi则基于 PyPI 与 pip 安装扩展。在 jupyterlab/labapp.py 的initialize_handlers中可以看到非核心模式启动时会实例化所选管理器并将扩展元数据注入前端page_config[extensionManager]若所选管理器初始化失败会回退到ReadOnlyExtensionManager实现在 jupyterlab/extensions/readonly.py同时支持通过LabServerApp.blocked_extensions_uris/allowed_extensions_uris配置扩展黑/白名单列表详见 jupyterlab/extensions/manager.py 中扩展兼容性检查与消息映射的实现。前端扩展管理器 UI 位于 packages/extensionmanager 与 packages/extensionmanager-extension。命令行层面还提供扩展管理工具jupyter labextension入口在 jupyterlab/labextensions.py对应 pyproject.toml 的[project.scripts]支持安装、卸载、禁用、启用、列表等操作应用模式下的扩展安装会触发jupyter lab build重新构建静态资源。从源码开发与贡献为 JupyterLab 开发扩展要开始开发扩展README 指引读者阅读开发者文档与 API 文档。就本仓库而言前端部分是一个大型 TypeScript monorepopackages/目录下按功能拆分为application、notebook、apputils、services、ui-components、rendermime等数十个独立 npm 包每个包都维护独立的package.json如 packages/application/package.json 声明了依赖lumino/application、jupyterlab/services等并统一通过仓库根目录的 package.json 与 lerna.json 组织版本与发布。示例项目位于 examples/覆盖 app、cell、console、filebrowser、notebook、terminal 等典型扩展场景每个示例均包含main.py、package.json与rspack.config.js是上手编写前端扩展的最佳参照。参与 JupyterLab 本体开发从 git 源码安装的说明见 CONTRIBUTING.md。开发者可从源码构建仓库提供的开发相关脚本与工具包括binder/environment.ymlBinder 在线试用环境配置buildutils/版本号管理、包创建/删除、依赖更新、发布等一揽子工程化脚本galata/基于 Playwright 的端到端测试框架含jupyterlab/test大量 UI 回归测试用例scripts/CI 安装脚本ci_install.sh、flake 测试分析、i18n 检查等辅助脚本。JupyterLab 遵循 Jupyter 社区指南Jupyter Community Guides开发者应同时阅读 docs/ 下的用户与开发者文档。每周开发会议社区每周三太平洋时间上午 9:00 召开视频会议任何人都可以旁听或参与讨论会议记录归档于 Jupyter Frontends 团队 compass。版本维护现状与升级建议README 中有一条重要公告JupyterLab 3 已于 2024 年 5 月 15 日到达维护期终点关键问题的修复仅回溯支持至 2024 年 12 月 31 日。仍在使用 JupyterLab 3 的用户应尽快升级到 JupyterLab 4。从本仓库看前端包版本号如jupyterlab/application的4.7.0-alpha.1与 Python 包jupyterlabjupyterlab/_version.py共同推进到 4.x 系列pyproject.toml中Framework :: Jupyter :: JupyterLab :: 4的分类器也印证了当前主线为 4.x。获取帮助与反馈提问交流推荐在 Jupyter Discourse 论坛的 JupyterLab 板块提问公开问答可以沉淀为对他人有用的资料。提交 Bug请先阅读问题报告指南再使用 Bug 模板新建 issue已解决的问题在闲置一段时间后会被 lock bot 锁定如仍需讨论请新开 issue 并引用原 issue。功能建议欢迎使用功能请求模板提交新特性建议帮助项目对更多用户更有用。许可证与版权模式JupyterLab 采用共享版权shared copyright模式所有贡献者保留各自贡献的版权全部代码以修订版 BSD 许可证授权详见仓库 LICENSE。JupyterLab 是 Project Jupyter 的一部分由开放社区开发维护团队受 Jupyter Frontends Council 治理决策型贡献者与代码贡献者分别可见于团队名录与贡献者图谱。总结从pip install jupyterlab到jupyter lab再到通过--core-mode/--dev-mode/--app-dir切换运行形态、借助 prebuilt 扩展与 npm 源码扩展搭建个性化环境JupyterLab 提供了一条从拿来即用到深度定制的完整路径。理解 jupyterlab/labapp.py 中的三种运行模式与构建/清理/路径等子命令、pyproject.toml 中的扩展管理器入口点以及packages/下的前端模块化结构将帮助你更高效地使用、排查和扩展这套计算环境。【免费下载链接】jupyterlabJupyterLab computational environment.项目地址: https://gitcode.com/gh_mirrors/ju/jupyterlab创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/21 14:03:53

Kivy Windows 应用打包实战:基于 PyInstaller 生成可执行程序

Kivy Windows 应用打包实战:基于 PyInstaller 生成可执行程序 【免费下载链接】kivy Open source UI framework written in Python, running on Windows, Linux, macOS, Android and iOS 项目地址: https://gitcode.com/gh_mirrors/ki/kivy 本文是 Kivy 官方…

2026/9/21 13:58:53

AI前端面试核心:SSE流式处理与TypeScript类型安全实战

1. 这不是鸡汤,是9月AI前端面试现场的真实战报“最后提醒一次,9月的AI前端面试不用太老实”——这句话不是标题党,是我上周连续面了7家一线大厂和明星创业公司后,在凌晨两点改完第3版简历时写在备忘录里的第一行字。它背后没有情绪…

2026/9/21 13:58:53

iPhone/iPad上跑通AI Agent:混合架构与MCP工具调用实战

上个月,我把一个几乎完整的 AI Agent 跑在了 iPhone 和 iPad 上。这里说的“完整”,不是像聊天助手那样能一问一答就完事,而是它真的能自己调用工具、查天气、写备忘录、整理周报,还带长期记忆。折腾这个项目的起因很简单&#xf…

2026/9/21 15:24:03

Win32 Disk Imager在Windows 11下备份树莓派SD卡的底层原理与实战

1. 为什么在Windows 11上用Win32 Disk Imager备份树莓派SD卡,至今仍是硬核玩家的首选方案我从树莓派B时代就开始折腾嵌入式系统,手头积压了二十多张不同用途的SD卡——有跑Home Assistant的家庭中枢、有部署OpenCV做视觉识别的实验卡、还有给学生上课用的…

2026/9/21 15:24:03

MiMo-V2 全家桶跑 Agent:Key 用 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 3:28:31

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/21 3:33:19

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/21 0:02:23

OpenResearch:构建可复现的开放式研究工作流

第一次看到“OpenResearch”这个名字,我脑子里冒出的不是某个具体软件,而更像一种研究方式的宣言:开放、可复现、可验证。这三件事放在一起,其实比大多数人想象中难得多。过去几年我一直在折腾自己的研究工作流,从纯纸…

2026/9/20 4:54:47

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/20 5:01:23

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/21 10:29:02

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码