在 JupyterLab 和 Jupyter Notebook 中,您可以使用以下命令执行单元ctrl + Enter:
代码:
print('line 1')
print('line 2')
print('line 3')
单元格和输出:
但是你怎么能只 line 2跑呢?或者甚至在一个单元格内选择行而不运行整个单元格?当然,您可以只插入一个带有单行或多行选择的单元格,但这很快就会变得非常麻烦和混乱。那么有没有更好的方法来做到这一点?
在 JupyterLab 和 Jupyter Notebook 中,您可以使用以下命令执行单元ctrl + Enter:
代码:
print('line 1')
print('line 2')
print('line 3')
单元格和输出:
但是你怎么能只 line 2跑呢?或者甚至在一个单元格内选择行而不运行整个单元格?当然,您可以只插入一个带有单行或多行选择的单元格,但这很快就会变得非常麻烦和混乱。那么有没有更好的方法来做到这一点?
由于自从我的第一个答案(我现在开始1.1.4)以来,JupyterLab 已经进行了一些更新,并且据说JupyterLab 1.0 最终将取代经典的 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 笔记本:
qtconsoleJupyter实验室:
qtconsoleRun > Run Selected Text or Current Line in Console, 可选择使用键盘快捷键查看下面的详细信息,以及答案末尾的编辑中的一些特殊情况。
Jupyter 笔记本选项 1: qtconsole
可以说插入新单元最灵活的替代方法是使用魔法函数打开 IPython 控制台
%qtconsole
对于更花哨的控制台,您可以使用
%qtconsole --style vim
在此控制台中执行的行的结果也将提供给 Jupyter Notebook,因为它仍然是正在运行的同一个内核。一个缺点是您必须在控制台中复制和粘贴或键入所需的行。
[
Jupyter Notebook 选项 2: Scratchpad 笔记本扩展
安装成功后,您可以使用以下命令启动 Scratchpad ctrl + B:
JupyterLab 选项 1: %qtconsole
工作方式与笔记本相同
JupyterLab 选项 2: Run > Run Selected Text or Current Line in Console
较新版本的 JupyterLab 内置了与 qtconsole 类似的选项,但可以说更优雅。现在您可以将标记放在一行上,或突出显示选择,然后使用菜单选项Run > Run Selected Text or Current Line in Console:
您仍将在 IPython 控制台中获得结果,但您不必添加额外的行,%qtconsole并且在单元格中运行选择的行要容易得多:
您可以通过为菜单选项分配键盘快捷键来使事情变得更容易,Run > Run Selected Text or Current Line in Console如下所示:
1 -转到Settings并选择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 -单击Save All下方File。
5 -如果过程顺利,您会看到您的菜单选项已更改:
6 -您可能需要重新启动 JupyterLab,但现在您可以使用所需的快捷方式轻松运行单行或选择行。
##EDIT:特殊情况
您首选的方法将取决于相关行的输出性质。以下是plotly的示例。随着时间的推移,可能会添加更多示例。
1. - 阴谋
情节图不会直接显示在 Jupyter QtConsole 中(可能与此相关),但 Jupyter Notebook 中的 Scratchpad 和 Jupyterlab 中的集成控制台都Run > Run Selected Text or Current Line in Console可以很好地处理情节图。
片段:
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 控制台配合使用: