当前位置: 首页 > 知识库问答 >
问题:

如何在Jupyter笔记本或JupyterLab单元中运行单行代码或选定代码?

呼延宪
2023-03-14

在JupyterLab和Jupyter Notebook中,您可以使用ctrl Enter执行单元格:

代码:

print('line 1')
print('line 2')
print('line 3')

单元和输出:

但是,如何只运行第2行?或者甚至在一个单元中选择一行而不运行整个单元?当然,你可以只插入一行或一组行的单元格,但这会很快变得非常麻烦和混乱。那么,有没有更好的方法?

共有1个答案

鄢松
2023-03-14

自从我第一次回答问题(我现在在1.1.4)以来,JupyterLab已经有了一些更新,而且有人说JupyterLab 1.0最终将取代经典的Jupyter笔记本电脑,以下是我认为目前最好的方法,在未来更是如此:

在JupyterLab中使用运行

以下是使用键盘快捷键逐行运行三条打印语句时的情况:

下面是如何在设置中设置快捷方式

下面是您需要在设置下添加的内容

{
    // List of Keyboard Shortcuts
    "shortcuts": [
        {
            "command": "notebook:run-in-console",
            "keys": [
                "F9"
            ],
            "selector": ".jp-Notebook.jp-mod-editMode"
        },
    ]
}

快捷方式甚至会显示在菜单中。我选择使用F9

旧版本的原始答案:

Jupyter笔记本:

  1. qtconsole
  2. 草稿行

JupyterLab:

  1. qtconsole
  2. 运行

看看下面的细节,以及答案末尾编辑中的一些特殊情况。

jupyter笔记本选项1:qtconf

插入新单元最灵活的替代方法是使用magic函数打开IPython控制台

%qtconsole

您可以使用更别致的控制台

%qtconsole --style vim

在这个控制台中执行的行的结果也将可用于Jupyter笔记本,因为它仍然是运行的同一个内核。一个缺点是你必须复制

Jupyter笔记本选项2:Scratchpad笔记本扩展

成功安装后,您可以使用ctrl B启动草稿行:

JupyterLab选项1:%qtconsole

工作原理和笔记本一样

JupyterLab选项2:运行

JupyterLab的新版本内置了一个类似于qt控制台的选项,但可以说更优雅。现在,您可以将您的标记放在单行上,或突出显示所选内容,并使用菜单选项Run

您仍然可以在IPython控制台中获得结果,但是您不必使用%qt控制台添加额外的行,并且在单元格中运行选定的行要容易得多:

通过为菜单选项Run指定一个键盘快捷键,您可以让事情变得更加简单

1-转到设置并选择高级设置编辑器

2-在键盘快捷方式选项卡下,执行ctrl F搜索运行控制台以查找以下部分:

// [missing schema title]
    // [missing schema description]
    "notebook:run-in-console": {
      "command": "notebook:run-in-console",
      "keys": [
        ""
      ],
      "selector": ".jp-Notebook.jp-mod-editMode",
      "title": "Run In Console",
      "category": "Notebook Cell Operations"
    }

3-复制该部分并将其粘贴在用户覆盖下,并在下面键入所需的快捷方式:

[...]
"keys": [
  "F9"
],
[...]

4-单击文件下的保存所有代码。

5-如果过程顺利,您将看到您的菜单选项已更改:

6-您可能必须重新启动JupyterLab,但现在您可以使用所需的快捷方式轻松运行单行或选定的行。

##编辑:特殊情况

您首选的方法将取决于相关行输出的性质。下面是一个plotly的示例。随着时间的推移,可能会添加更多的示例

1.阴谋

绘图仪图形不会直接显示在Jupyter QT控制台中(可能与此相关),但Jupyter笔记本中的草稿行和Jupyterlab中的集成控制台都会使用运行

片段:

from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import plotly.graph_objs as go
init_notebook_mode(connected=True)

trace0 = go.Scatter(
    x=[1, 2, 3, 4],
    y=[10, 15, 13, 17]
)

fig = go.Figure([trace0])
iplot(fig)

1.1-用刮板绘图

1.2-使用突出显示的线条和键盘快捷键,使用JupyterLab控制台进行绘图:

 类似资料:
  • 使用GitHub,我们可以在线存储代码,而使用Jupyter笔记本,我们只能执行Python代码的一部分。我想一起使用它们。我可以用电脑上储存的Jupyter笔记本编辑代码。但是,我无法找到运行存储在GitHub上的代码的方法。那么,你知道怎么做吗。 以下是一些例子:https://github.com/biolab/ipynb/blob/master/2015-bi/lcs.ipynb http

  • 我正在尝试做一些深度学习的工作。为此,我首先在我的Python环境中安装了所有用于深度学习的包。 这就是我所做的。 在Anaconda中,我创建了一个名为的环境,如下所示 然后在其中安装了data science Python包,如Pandas、NumPy等。我还在那里安装了TensorFlow和Keras。下面是该环境中的包列表 您可以看到还安装了。 现在,当我在这个环境中打开Python解释器

  • 我怎样才能跑。jupyter实验室的py文件?我一直在使用jupyter笔记本和jupyter实验室编写代码,但大部分研究论文的复制代码都在使用中。py文件格式 例如,这是一个用于beta Variative autoencoder的github存储库。从存储库中可以看到,这些类型的存储库通常由主存储库组成。是的,模特儿。py,看起来和我的大不相同。我通常使用的ipynb格式。 有人可以分享如何舒

  • 问题内容: 我想分享一些Python代码示例,如果在终端Python / IPython或IPython笔记本中执行,则应该做一些不同的事情。 如何检查我的Python代码是否在IPython笔记本中运行? 问题答案: 问题是您想以不同的方式执行什么。 我们在IPython中尽力防止内核知道连接到哪种前端,实际上,您甚至可以同时将内核连接到许多不同的前端。即使您可以窥视一下是否知道您是否在ZMQ内

  • 我想定期运行代码在django为此我下载了芹菜并试图配置它 添加到设置中。派克 他做了一个芹菜。py文件 创建了一个任务。py文件 依次发射了一切 节拍带给我的 芹菜。0.5(奇点)正在启动本地时间- 但工人每15秒就扔下一个 [2021-02-19 16:18:02,275:警告/SpawnPoolWorker-1]c:\用户\admin\appdata\本地\程序\python\python3

  • 我考虑过的一些方法: 将函数移出到实用程序文件中,并在某个标准Python测试库中为该实用程序文件编写测试。可能是最好的选择,尽管这意味着并非所有代码在笔记本中都可见。 使用测试数据在笔记本本身内进行写入断言(给笔记本增加噪声)。 使用专门的Jupyter测试来测试单元格的内容(不要认为这行不通,因为单元格的内容会改变)。