2016-04-21 66 views
16

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

尝试下面的命令

%%javascript 
IPython.OutputArea.auto_scroll_threshold = 9999; 

,但它给出了一个错误

Javascript error adding output! 
SyntaxError: Unexpected identifier 
See your browser Javascript console for more details. 
+0

您可以编辑配置文件......在此期间,如果你点击的结果酒吧的一侧,它会从'autoscroll'旋转到'expanded'到'hidden'。 –

回答

0

在,你可以hack a cell to autorun,你可以添加以下细胞类似的方法:

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

这会将auto_scroll_threshold设置为-1,这意味着永远不会自动滚动。

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

0

这听起来像你的jupyter笔记本电脑的安装是以某种方式配置错误。我可以确认你正在运行的命令应该工作。 the jupyter project github中有几个相关问题,您可能会发现有助于进一步解决问题的线程。

18

要禁用自动滚动,在笔记本电池执行这个JavaScript执行其他细胞前:

%%javascript 
IPython.OutputArea.prototype._should_scroll = function(lines) { 
    return false; 
} 

还有一个IPython的笔记本扩展,disable_autoscroll,你可以用一个更永久的改变。请按照ipython issue #2172了解最新的细节。

+0

这对我不起作用,当我运行这个时,我得到与OP一样的错误。 – frmsaul

+0

@frmsaul您使用的是哪种版本的IPython笔记本?在jupyter notebook 5.x(和4.x)中仍然适用于我。 – mtd

0

run all命令禁用滚动至底部,执行此代码:

%%javascript 
require("notebook/js/notebook").Notebook.prototype.scroll_to_bottom = function() {} 
相关问题