【问题标题】:JupyterLab vs. JupyterNotebook and how to edit code quicklyJupyterLab vs. Jupyter Notebook 以及如何快速编辑代码
【发布时间】:2020-03-22 09:36:26
【问题描述】:

如果他们刚刚开始,应该使用以上哪一项?

另外,是否有办法在调试时快速编辑代码文件以检查代码的特定部分?

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

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

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

【问题讨论】:

  • 您的问题归结为 “Jupyter 是否具有类似 IDE 的功能来(全局)更改笔记本中的变量名称?”
  • 我应该在 Jupyter 中创建代码还是坚持使用我当前的编辑器并仅使用 Jupyter 以笔记本样式呈现我的发现?
  • 但我们不知道您当前的编辑器,即使我们这样做也是主观的,您的决定很可能是“都不知道:使用其他 IDE Z”。而询问“编辑器/IDE X 是否具有功能 Y?” 是客观的。底线是 jupyter 是一个笔记本,而不是一个完整的 IDE;我不会尝试用它来管理 1000 行代码。如果您进行大规模开发,请将您的代码放在自己的包中,或者使用合适的 IDE。

标签: python jupyter-notebook ide editor python-interactive


【解决方案1】:

我发现 jupyter notebook 非常适合查看和编辑单个笔记本。但是大多数时候,我通常希望同时访问多个笔记本和文件,这是 jupyter 实验室能够做到的。无论如何,我认为没有任何理由选择 jupyter notebook 而不是 jupyter lab(+1 暗模式)。

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

此外,您可以使用 jupyter lab 作为一种通过 ssh 编辑代码的方法,因此如果您不熟悉 vim 或 emacs,这是编辑、浏览和上传/下载文件的好方法。您还可以在 jupyter lab 中打开额外的终端。

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

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

【讨论】:

  • 所以据我了解,两者都不是真正用于代码开发,而只是用于完成“讲故事”?
  • 这就是我主要使用它们的目的。但是,它们对于在开发过程中隔离和重现错误很有用,尤其是当您必须在代码块中实例化一堆变量时。与其他开发人员共享一个演示错误的笔记本也很容易。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2020-03-12
    • 2019-08-11
    • 2018-08-31
    • 2019-10-20
    • 1970-01-01
    • 2023-02-24
    • 2021-08-30
    • 2018-12-01
    • 2017-11-16
    相关资源
    最近更新 更多