ChatGPT解决这个技术问题 Extra ChatGPT

Jupyter Notebook 和 JupyterLab 有什么区别?

我是 Jupyter Notebook 的新手,Jupyter Notebook 和 JupyterLab 的主要区别是什么,建议我选择最好的,将来应该使用它。

截至 2021 年,还有另一个变体,与问题非常相关:RetroLab 这是 JupyterLab 的官方混音,它重新创建了 Jupyter Notebook 外观和感觉让喜欢旧 UI 的用户更容易迁移到现代工具。

m
myioannis

Jupyter Notebook 是一个基于 Web 的交互式计算环境,用于创建 Jupyter Notebook 文档。它支持 Python (IPython)、Julia、R 等多种语言,主要用于数据分析、数据可视化和进一步的交互式探索性计算。

JupyterLab 是包括笔记本在内的下一代用户界面。它具有模块化结构,您可以在其中打开多个笔记本或文件(例如 HTML、文本、Markdowns 等)作为同一窗口中的选项卡。它提供了更多类似 IDE 的体验。

对于初学者,我建议从 Jupyter Notebook 开始,因为它只包含一个文件浏览器和一个(笔记本)编辑器视图。它可能更容易使用。如果您想要更多功能,请切换到 JupyterLab。 JupyterLab 提供了更多功能和增强的界面,可以通过扩展进行扩展:JupyterLab Extensions (GitHub)


我实际上认为 Jupyterlab 看起来更漂亮但功能更少
JupyterLab 不适合显示数据可视化,例如 plotly。我切换到 Jupyter 笔记本的原因。
@Kaisar 您在使用 plotly i JupyterLab 时遇到了哪些挑战?
这并不能真正解释差异是什么
值得注意的是,最近发布的 plotly 为 Jupyterlab 添加了更好的支持:community.plotly.com/t/…
Y
YaOzI

目前(2019 年年中),随着 JupyterLab 1.0 的发布,作为用户,我认为我们应该将 JupyterLab 用于日常使用。JupyterLab official documentation开始:

当前版本的 JupyterLab 适合一般日常使用。

JupyterLab 最终将取代经典的 Jupyter Notebook。在整个过渡过程中,经典 Notebook 和 JupyterLab 都将支持相同的笔记本文档格式。

请注意,JupyterLab 有一个 extensible modular architecture。所以在过去,只有一个 Jupyter Notebook,现在有了 JupyterLab(以及将来),Notebook 只是 JupyterLab 中的核心应用程序之一(以及其他类似代码 控制台、命令行终端文本编辑器)。


到目前为止(截至 2021 年中),没有理由不使用 JupyterLab。只需 conda install jupyterlab 它就会拉入笔记本和其他需要的东西。 JLab 是通用的,因为底层的 JLab 扩展框架提供了丰富的定制和扩展能力。据我所知,jupyter 的人现在几乎都在 jupyterlab 上投入了精力。
v
vestland

1 - 直接回答您的问题:

两者之间最重要的一个区别是您应该立即开始使用 JupyterLab,而且您根本不必担心 Jupyter Notebook。 Because

JupyterLab 最终将取代经典的 Jupyter Notebook。在整个过渡过程中,经典 Notebook 和 JupyterLab 都将支持相同的笔记本文档格式

从 3.0 版开始,JupyterLab 还附带了一个visual debugger,可让您以交互方式设置断点、步入函数和检查变量。

2 - 与评论中的众多主张相矛盾,这些主张在 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 控制台进行设置,如下所示:

https://i.stack.imgur.com/TW9F4.png

现在您可以使用这些工具:

查看文件、运行内核、命令、笔记本工具、打开选项卡或扩展管理器 使用 Ctrl+Enter 等选项运行单元格 使用菜单选项或键盘快捷键运行单个表达式、行或突出显示的文本 使用 Shift+ 直接在控制台中运行代码在控制台中快速轻松地输入检查变量、数据框或绘图,而不会弄乱您的笔记本输出。


感谢您提供答案中的链接。这些对我非常有用。
很好的答案,与在笔记本底部乱搞相比,控制台是一个很大的改进。
“不用担心 jupyter” 问题在于博客文章和 SO 问题上的文档解决了 jupyter 而不是 jupyterlab 的问题,并且解决方案有时适用于 jupyterlab,有时不适用于 - 这使得理解两者之间的关系非常重要。 \
@AttRigh 当然,但 OP 还专门询问 which should be used in the future。我会毫不犹豫地专注于 JupyterLab。
此外,如果您安装 JupyterLab (pip install jupyterlab),它还附带 Jupyter Classic。所以你不妨安装 JupyterLab,因为它两者都有。
V
Vass

(我正在使用 JupyterLab 和 Julia)

首先,我之前使用的 Jupyter 实验室提供了更多的“主题”,这对眼睛来说非常棒,而且字体大小的变化也独立于浏览器,因此更接近于 IDE。我喜欢一些细节,例如更改“代码字体大小”并使界面字体大小保持不变。

很棒的主要功能是

单元格的拖放,以便您可以轻松地重新排列代码

通过单击鼠标和一个小标记来折叠单元格以提醒它们的位置

最重要的是能够拆分选项卡和终端的视图。如果您使用 Emacs,那么您可能喜欢拥有多个水平和垂直排列的缓冲区,其中一个运行 shell(终端),而使用 jupyterlab 可以做到这一点,并且安排是通过拖放进行的,这在 Emacs 中通常是用一组命令完成。

(我不相信那些没有先使用'notebook'原始版本的人会增加学习曲线。你可以直接进入这个IDE体验)


l
lousycoder

这个答案显示了 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 文件。


J
JLB

如果您正在寻找 JupyterLab 中的笔记本具有传统 Jupyter 笔记本不具备的功能,请查看 JupyterLab notebooks documentation。有一个简单的视频展示了如何使用文档链接中的每个功能。

JupyterLab 笔记本具有以下功能和更多功能:

拖放单元格以重新排列您的笔记本

在笔记本之间拖动单元格以快速复制内容(因为您一次可以打开多个)

创建单个笔记本的多个同步视图

主题和自定义:深色主题和增加代码字体大小