如何 运行 Jupyter Notebook 或 JupyterLab 单元格中的单行或选定代码?
How to run a single line or selected code in a Jupyter Notebook or JupyterLab cell?
在 JupyterLab 和 Jupyter Notebook 中,您可以使用 ctrl + Enter
:
执行单元格
代码:
print('line 1')
print('line 2')
print('line 3')
单元格和输出:
可是你怎么能运行只line 2
呢?或者甚至在没有 运行 整个单元格的情况下选择单元格内的行?当然,您可以只插入一个包含单行或多行选择的单元格,但这会很快变得非常麻烦和混乱。那么有更好的方法吗?
更新答案
自从我的第一个回答以来,JupyterLab 已经进行了一些更新(我现在在 1.1.4
),并且有人说 JupyterLab 1.0 will eventually replace the classic Jupyter Notebook,这是我认为最好的现在就接近,未来更是如此:
在 JupyterLab 中,使用 Run > Run selected line or highlighted text
和分配的键盘快捷键到控制台中的 运行 代码。
这是使用键盘快捷键 运行 逐行打印三个语句时的样子:
在 Settings > Advanced Settings > Keyboard shortcuts
中设置快捷方式的方法如下:
这是您需要在 Settings > Keyboard Shortcuts > User preferences >
下添加的内容:
{
// List of Keyboard Shortcuts
"shortcuts": [
{
"command": "notebook:run-in-console",
"keys": [
"F9"
],
"selector": ".jp-Notebook.jp-mod-editMode"
},
]
}
快捷方式甚至会显示在菜单中。我选择使用 F9
旧版本的原始答案:
简答:
Jupyter 笔记本:
qtconsole
- 便签本
JupyterLab:
qtconsole
Run > Run Selected Text or Current Line in Console
,可选择使用键盘快捷键
查看下面的详细信息,以及答案末尾编辑中的一些特殊情况。
详情:
Jupyter 笔记本选项 1: qtconsole
可以说,插入新单元格最灵活的替代方法是使用魔术功能
打开IPython控制台
%qtconsole
您可以使用更花哨的控制台
%qtconsole --style vim
在这个控制台中执行的行的结果也将可用于 Jupyter Notebook,因为它仍然是 运行ning 的同一个内核。一个缺点是您必须将所需的行复制并粘贴或键入到控制台中。
[
Jupyter 笔记本选项 2: Scratchpad Notebook Extension
安装成功后,您可以使用 ctrl + B
:
启动便签本
JupyterLab 选项 1: %qtconsole
工作方式与笔记本相同
JupyterLab 选项 2: Run > Run Selected Text or Current Line in Console
与 qtconsole 类似的选项,但可以说更优雅,已内置于较新版本的 JupyterLab。现在您可以将标记放在一行上,或突出显示 select 离子,然后使用菜单选项 Run > Run Selected Text or Current Line in Console
:
您仍然会在 IPython 控制台中获得结果,但您不必使用 %qtconsole
添加额外的行,并且 运行 更容易单元格内的 select 行离子:
您可以通过指定键盘快捷键让事情变得更简单
菜单选项 Run > Run Selected Text or Current Line in Console
像这样:
1 - 转到 Settings
和 select Advanced Settings editor
:
2 - 在 Keyboard shortcuts tab
下,执行 ctrl+F
搜索 run-in-console
以找到以下部分:
// [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 - 复制该部分并将其粘贴到 User Overrides
下,然后在 keys
下方输入您想要的快捷方式,如下所示:
[...]
"keys": [
"F9"
],
[...]
4 -点击File
下的Save All
。
5 - 如果过程顺利,您会看到您的菜单选项已更改:
6 - 您可能需要重新启动 JupyterLab,但现在您可以轻松 运行 单行或 select 行与您想要的快捷方式.
##编辑:特殊情况
您的首选方法将取决于相关行输出的性质。下面是 plotly 的示例。随着时间的推移可能会添加更多示例。
1. - 剧情
plotly 图形不会直接显示在 Jupyter QtConsole 中(可能与 this 有关),但 Jupyter Notebook 中的 Scratchpad 和 Jupyterlab 中使用 Run > Run Selected Text or Current Line in Console
的集成控制台都会处理 plotly数字刚刚好。
片段:
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 控制台进行绘图:
在 JupyterLab 和 Jupyter Notebook 中,您可以使用 ctrl + Enter
:
代码:
print('line 1')
print('line 2')
print('line 3')
单元格和输出:
可是你怎么能运行只line 2
呢?或者甚至在没有 运行 整个单元格的情况下选择单元格内的行?当然,您可以只插入一个包含单行或多行选择的单元格,但这会很快变得非常麻烦和混乱。那么有更好的方法吗?
更新答案
自从我的第一个回答以来,JupyterLab 已经进行了一些更新(我现在在 1.1.4
),并且有人说 JupyterLab 1.0 will eventually replace the classic Jupyter Notebook,这是我认为最好的现在就接近,未来更是如此:
在 JupyterLab 中,使用 Run > Run selected line or highlighted text
和分配的键盘快捷键到控制台中的 运行 代码。
这是使用键盘快捷键 运行 逐行打印三个语句时的样子:
在 Settings > Advanced Settings > Keyboard shortcuts
中设置快捷方式的方法如下:
这是您需要在 Settings > Keyboard Shortcuts > User preferences >
下添加的内容:
{
// List of Keyboard Shortcuts
"shortcuts": [
{
"command": "notebook:run-in-console",
"keys": [
"F9"
],
"selector": ".jp-Notebook.jp-mod-editMode"
},
]
}
快捷方式甚至会显示在菜单中。我选择使用 F9
旧版本的原始答案:
简答:
Jupyter 笔记本:
qtconsole
- 便签本
JupyterLab:
qtconsole
Run > Run Selected Text or Current Line in Console
,可选择使用键盘快捷键
查看下面的详细信息,以及答案末尾编辑中的一些特殊情况。
详情:
Jupyter 笔记本选项 1: qtconsole
可以说,插入新单元格最灵活的替代方法是使用魔术功能
打开IPython控制台%qtconsole
您可以使用更花哨的控制台
%qtconsole --style vim
在这个控制台中执行的行的结果也将可用于 Jupyter Notebook,因为它仍然是 运行ning 的同一个内核。一个缺点是您必须将所需的行复制并粘贴或键入到控制台中。
[
Jupyter 笔记本选项 2: Scratchpad Notebook Extension
安装成功后,您可以使用 ctrl + B
:
JupyterLab 选项 1: %qtconsole
工作方式与笔记本相同
JupyterLab 选项 2: Run > Run Selected Text or Current Line in Console
与 qtconsole 类似的选项,但可以说更优雅,已内置于较新版本的 JupyterLab。现在您可以将标记放在一行上,或突出显示 select 离子,然后使用菜单选项 Run > Run Selected Text or Current Line in Console
:
您仍然会在 IPython 控制台中获得结果,但您不必使用 %qtconsole
添加额外的行,并且 运行 更容易单元格内的 select 行离子:
您可以通过指定键盘快捷键让事情变得更简单
菜单选项 Run > Run Selected Text or Current Line in Console
像这样:
1 - 转到 Settings
和 select Advanced Settings editor
:
2 - 在 Keyboard shortcuts tab
下,执行 ctrl+F
搜索 run-in-console
以找到以下部分:
// [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 - 复制该部分并将其粘贴到 User Overrides
下,然后在 keys
下方输入您想要的快捷方式,如下所示:
[...]
"keys": [
"F9"
],
[...]
4 -点击File
下的Save All
。
5 - 如果过程顺利,您会看到您的菜单选项已更改:
6 - 您可能需要重新启动 JupyterLab,但现在您可以轻松 运行 单行或 select 行与您想要的快捷方式.
##编辑:特殊情况
您的首选方法将取决于相关行输出的性质。下面是 plotly 的示例。随着时间的推移可能会添加更多示例。
1. - 剧情
plotly 图形不会直接显示在 Jupyter QtConsole 中(可能与 this 有关),但 Jupyter Notebook 中的 Scratchpad 和 Jupyterlab 中使用 Run > Run Selected Text or Current Line in Console
的集成控制台都会处理 plotly数字刚刚好。
片段:
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 控制台进行绘图: