在JupyterLab和Jupyter Notebook中,都可以使用ctrl + Enter
执行单元
代码:
print('line 1')
print('line 2')
print('line 3')
单元格和输出:
但是你怎么能只运行line 2
呢?或者甚至是在不运行整个单元格的情况下选择单元格内的行?当然,你可以只插入一个单元格,或者选择一行,但这很快就会变得非常麻烦和混乱。那么有没有更好的方法来做到这一点呢?
发布于 2019-06-05 20:51:49
更新的答案
自从我的第一个答案(我现在在1.1.4
上)以来,JupyterLab已经有了一些更新,而且有人说JupyterLab 1.0 will eventually replace the classic Jupyter Notebook,这是我认为现在最好的方法,在未来会更好:
在JupyterLab中,使用带有指定键盘快捷键的Run > Run selected line or highlighted text
在控制台中运行代码。
下面是使用键盘快捷键逐行运行这三个print语句时的结果:
下面是如何在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仍然是正在运行的内核,因此在此控制台中执行的行的结果也将可用于Jupyter Notebook。一个缺点是您必须将所需的行复制、粘贴或键入到控制台中。
[
Jupyter笔记本选项2: Scratchpad Notebook Extension
成功安装后,您可以使用ctrl + B
启动Scratchpad
JupyterLab选项1: %qtconsole
工作方式与Notebook相同
JupyterLab选项2: Run > Run Selected Text or Current Line in Console
新版本的JupyterLab内置了一个类似于of控制台的选项,但可以说更优雅。现在,您可以将标记放在一行上,或突出显示所选内容,然后使用菜单选项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 -单击File
下的Save All
。
5 -如果过程顺利,您将看到菜单选项发生了变化:
6 -您可能需要重新启动JupyterLab,但现在您可以使用所需的快捷方式轻松运行单行或选定行。
##EDIT:特殊情况
您的首选方法将取决于所讨论行的输出的性质。下面是一个使用plotly的示例。随着时间的推移,可能会添加更多的示例。
1. - plotly
绘图图形不会直接显示在Jupyter QtConsole (可能与this有关)中,但Jupyter Notebook中的Scratchpad和使用Run > Run Selected Text or Current Line in Console
的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 console一起绘图:
https://stackoverflow.com/questions/56460834
复制相似问题