禁用iPython Notebook自动滚动

Nyx*_*nyx 37 python ipython python-2.7 jupyter-notebook

在iPython Notebook中,是否可以禁用长输出的自动滚动?或者至少在自动滚动设置之前设置输出长度的阈值?

尝试以下命令

%%javascript
IPython.OutputArea.auto_scroll_threshold = 9999;
Run Code Online (Sandbox Code Playgroud)

但它给出了一个错误

Javascript error adding output!
SyntaxError: Unexpected identifier
See your browser Javascript console for more details.
Run Code Online (Sandbox Code Playgroud)

mtd*_*mtd 50

要禁用自动滚动,请在执行其他单元格之前在笔记本单元格中执行此javascript:

%%javascript
IPython.OutputArea.prototype._should_scroll = function(lines) {
    return false;
}
Run Code Online (Sandbox Code Playgroud)

还有一个ipython笔记本扩展,disable_autoscroll,您可以使用更永久的更改.关注ipython问题#2172了解最新细节.


ayo*_*rgo 25

也可以通过用户界面完成。

  • 单个单元格:单元格->当前输出->切换滚动
  • 所有单元格:单元格->所有输出->切换滚动

在此处输入图片说明

  • 这个答案的问题是你每次执行时都必须这样做,它不是永久性的 (5认同)

Nou*_*san 10

要防止在单个单元格输出中滚动,请选择该单元格并Shift+O在命令状态下按 。它将切换该特定单元的输出。如果您希望所有单元格显示长输出而不滚动,请转到Cell tab -> All Outputs -> Toggle Scrolling. 就是这样 !!!

  • 每次运行笔记本时都必须执行此操作。OP 正在询问是否将其永久化。 (2认同)

小智 6

这对我有用(没有分号)

    %%javascript
    IPython.OutputArea.auto_scroll_threshold = 9999
Run Code Online (Sandbox Code Playgroud)


mks*_*kst 2

以与将单元格修改为 autorun类似的方式,您可以添加以下单元格:

%%javascript
require(
        ["notebook/js/outputarea"],
        function (oa) {
            oa.OutputArea.auto_scroll_threshold = -1;
            console.log("Setting auto_scroll_threshold to -1");
        });
Run Code Online (Sandbox Code Playgroud)

这将设置auto_scroll_threshold-1这意味着从不自动滚动。

这适用于我受信任的笔记本(例如jupyter trust notebook.ipynb),不确定是否有任何单元在不受信任的笔记本中执行。