JupyterLab 与 JupyterNotebook 以及如何快速编辑代码

JupyterLab vs. JupyterNotebook and how to edit code quickly

如果刚入门,应该使用以上哪一项?

此外,是否有一种方法可以在调试时快速编辑代码文件以检查代码的特定部分?

例如,当您有一个像 this(公开找到的)这样的大文件时。

如果我决定更改变量名称(forecast_filled_df,输入 25),我是否必须在所有其他位置手动更改它,或者我是否可以像您一样简单地找到所有实例并替换所有实例在文本编辑器中?

基本上我想知道的是,是否有一种方法可以简单地在基于给定笔记本的单独生成的文件中编辑代码,而不会被所有输出分散注意力,也不必滚动到特定位置。

我发现 jupyter notebook 非常适合查看和编辑单个笔记本。然而,大多数时候,我通常希望同时访问多个笔记本和文件,jupyter lab 可以做到这一点。无论如何,我看不出有任何理由选择 jupyter notebook 而不是 jupyter lab(+1 表示暗模式)。

jupyter lab 内置的文本编辑器很不错,但与 sublime 或 vscode 相比,绝对是欠缺的。如果我正在编辑代码,我肯定会选择使用我最喜欢的文本编辑器,并将其仅用于 运行 和修改 jupyter notebooks。它非常适合快速制作 python 代码原型、探索数据或制作快速模型。如果您是数据科学家,这将特别有用。如果需要,您可以随时将 jupyter notebook 转换为 python 脚本。

此外,您可以使用 jupyter lab 作为通过 ssh 编辑代码的方式,因此如果您不熟悉 vim 或 emacs,这是一个很好的编辑方式,浏览和 upload/download 个文件。您还可以在 jupyter lab 中打开其他终端。

您可能 运行 使用 jupiter lab 的一个问题是,当您尝试输入非常大的目录或从 GUI 打开非常大的文件时,它很容易崩溃。

不幸的是,我不知道有什么方法可以在笔记本中查找和替换,但是可以通过 mac 上的 cmd + d 使用文本编辑器来查找文本文件。

我认为他们省略了查找和替换,因为在更改正式生效之前,您必须启动一个新会话或执行所有以前的单元格。如果您正处于一个巨大的会话中并且只想重命名变量,您总是可以添加一个单元格,其中包含 newvarname = oldvarname。如果您不介意开始一个新的 jupyter 会话,您可以在文本编辑器中打开 .ipynb 文件并以这种方式进行查找和替换。如果变量出现在缓存输出中,这也将替换它们。