Jupyter Notebook 和 JupyterLab 有啥区别?
Posted
技术标签:
【中文标题】Jupyter Notebook 和 JupyterLab 有啥区别?【英文标题】:What is the difference between Jupyter Notebook and JupyterLab?Jupyter Notebook 和 JupyterLab 有什么区别? 【发布时间】:2018-12-01 14:55:06 【问题描述】:我是 Jupyter Notebook 的新手,Jupyter Notebook 和 JupyterLab 的主要区别是什么,建议我选择最好的,以后应该会用到。
【问题讨论】:
截至 2021 年,还有另一个变体,与问题非常相关:RetroLab 这是 JupyterLab 的官方混音,它重新创建了 Jupyter Notebook 的外观,让喜欢旧的用户更容易迁移到现代工具的 UI。 【参考方案1】:Jupyter Notebook 是一个基于 Web 的交互式计算环境,用于创建 Jupyter Notebook 文档。它支持 Python (IPython)、Julia、R 等多种语言,主要用于数据分析、数据可视化和进一步的交互式探索性计算。
JupyterLab 是下一代用户界面包括笔记本。它具有模块化结构,您可以在其中打开多个笔记本或文件(例如 html、文本、Markdowns 等)作为同一窗口中的选项卡。它提供了更多类似 IDE 的体验。
对于初学者,我建议从 Jupyter Notebook 开始,因为它只包含一个文件浏览器和一个(笔记本)编辑器视图。它可能更容易使用。 如果您想要更多功能,请切换到 JupyterLab。 JupyterLab 提供了更多功能和增强的界面,可以通过扩展进行扩展: JupyterLab Extensions (GitHub)
【讨论】:
我实际上认为 Jupyterlab 看起来更漂亮但功能更少 JupyterLab 不适合显示数据可视化,例如阴谋。我切换到 Jupyter 笔记本的原因。 @Kaisar 您在使用 plotly i JupyterLab 时遇到了哪些挑战? 这并不能真正解释差异是什么 值得注意的是,最近发布的 plotly 为 Jupyterlab 添加了更好的支持:community.plotly.com/t/…【参考方案2】:此时(2019 年中),随着 JupyterLab 1.0 的发布,作为用户,我认为我们应该将 JupyterLab 用于日常使用。来自JupyterLab official documentation:
当前版本的 JupyterLab 适合一般日常使用。
和
JupyterLab 最终将取代 classic Jupyter Notebook。在整个过渡过程中,经典 Notebook 和 JupyterLab 都将支持相同的笔记本文档格式。
请注意,JupyterLab 有一个 extensible modular architecture。所以在过去,只有一个 Jupyter Notebook,现在有了 JupyterLab(以及将来),Notebook 只是 JupyterLab 中的核心应用程序之一(以及其他类似代码 控制台、命令行终端和文本编辑器)。
【讨论】:
到目前为止(截至 2021 年年中),没有理由不使用 JupyterLab。只需 conda install jupyterlab 它就会拉入笔记本和其他需要的东西。 JLab 是通用的,因为底层的 JLab 扩展框架提供了丰富的定制和扩展能力。据我所知,jupyter 的人现在几乎把所有的精力都放在了 jupyterlab 上。【参考方案3】:1 - 直接回答您的问题:
两者之间最重要的一个区别是您应该立即开始使用 JupyterLab,而且您根本不必担心 Jupyter Notebook。 Because:
JupyterLab 最终将取代经典的 Jupyter Notebook。 在整个过渡过程中,相同的笔记本文档格式将 经典 Notebook 和 JupyterLab 均支持
从 3.0 版开始,JupyterLab 还附带一个 visual debugger,可让您以交互方式设置断点、步入函数和检查变量。
2 - 与 cmets 中的大量声明相矛盾,这些声明在情节上与 JLab 运行不佳:
JupyterLab 对于build plotly figures、和都是一个绝对出色的工具,可以内联、作为选项卡以及在浏览器外部启动完整的 Dash Apps。
3 - 你可能也想知道这个:
其他帖子表明,对于初学者来说,Jupyter Notebook (JN) 可能比 JupyterLab (JL) 更易于使用。但我不得不不同意。
JL 的一大优势,可以说是 JL 和 JN 之间最重要的区别之一,就是您可以更轻松地run a single line and even highlighted text。我更喜欢为此使用键盘快捷键,assigning shortcuts 非常简单。
您可以execute code in a Python console 的事实使 JL 的工作变得更加有趣。其他答案已经提到了这一点,但 JL 在某些方面可以被视为运行 Notebooks 和 more 的工具。因此,我使用 JupyterLab 的方式是使用 .ipynb 文件、文件浏览器和 python 控制台进行设置,如下所示:
现在您可以使用这些工具了:
-
查看文件、运行内核、命令、笔记本工具、打开选项卡或扩展管理器
使用
Ctrl+Enter
等选项运行单元格
使用菜单选项或键盘快捷键运行单个表达式、行或突出显示的文本
使用Shift+Enter
直接在控制台中运行代码
在控制台中快速轻松地检查变量、数据框或绘图,而不会弄乱您的笔记本输出。
【讨论】:
感谢您提供答案中的链接。这些对我很有用。 非常好的答案,与在笔记本底部乱搞相比,控制台是一个很大的改进。【参考方案4】:(我正在使用 JupyterLab 和 Julia)
首先,我之前使用的 Jupyter 实验室提供了更多的“主题”,这对眼睛来说非常棒,而且字体大小的变化也独立于浏览器,因此更接近于 IDE。我喜欢一些细节,例如更改“代码字体大小”并使界面字体大小保持不变。
很棒的主要功能是
拖放单元格,以便您轻松重新排列代码 单击鼠标即可折叠单元格并用一个小标记提醒它们的位置但最重要的是能够拆分选项卡和终端的视图。如果您使用 Emacs,那么您可能喜欢拥有多个水平和垂直排列的缓冲区,其中一个运行 shell(终端),而使用 jupyterlab 可以做到这一点,并且安排是通过拖放进行的,这在 Emacs 中通常是用一组命令完成。
(我不相信那些没有先使用“笔记本”原始版本的人会增加学习曲线。你可以直接进入这个 IDE 体验)
【讨论】:
【参考方案5】:这个答案显示了 python 的观点。 Jupyter支持python以外的多种语言。
Jupyter Notebook 和 Jupyterlab 都是浏览器兼容的交互式 python(即 python“.ipynb”文件)环境,您可以在其中将代码的各个部分划分为各个单独的可执行单元,以提高可读性。这两者在数据科学/科学计算领域都很流行。
我建议您使用 Jupyterlab 以获得优于 Jupyter 笔记本的优势:
-
在 Jupyterlab 中,您可以创建“.py”文件、“.ipynb”文件、打开终端等。Jupyter Notebook 允许“.ipynb”文件,同时让您可以选择“python 2”或“python 3”。
Jupyterlab 可以在一个单个浏览器选项卡中打开多个“.ipynb”文件。然而,Jupyter Notebook 每次都会创建新选项卡来打开新的“.ipynb”文件。在浏览器的各个选项卡之间悬停是乏味,因此 Jupyterlab 在这里更有帮助。
我建议使用PIP 安装 Jupyterlab。
如果您无法在 Windows 系统上使用 Jupyterlab 打开“.ipynb”文件,请执行以下步骤:
-
转到文件 --> 右键单击 --> 打开方式 --> 选择另一个应用程序 --> 更多应用程序 --> 在此 PC 上查找其他应用程序 --> 单击。
这将打开一个文件资源管理器窗口。现在进入你的 Python 安装文件夹。您应该会看到 Scripts 文件夹。进去吧。
找到 jupyter-lab.exe 后,选择,现在它将默认在您的 PC 上打开 .ipynb 文件。
【讨论】:
【参考方案6】:如果您正在寻找 JupyterLab 中的笔记本具有传统 Jupyter 笔记本不具备的功能,请查看 JupyterLab notebooks documentation。有一个简单的视频展示了如何使用文档链接中的每个功能。
JupyterLab 笔记本具有以下功能及更多:
拖放单元格以重新排列您的笔记本 在笔记本之间拖动单元格以快速复制内容(因为您可以 一次打开多个) 为单个笔记本创建多个同步视图 主题和自定义:深色主题并增加代码字体大小【讨论】:
以上是关于Jupyter Notebook 和 JupyterLab 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
设置 Jupyter notebook 工作空间 / 默认路径
Jupyter notebook 安装教程(2022.9.24更新)