2016-04-21 2 views
16

В ноутбуке iPython можно отключить автосканирование длинных выходов? Или, по крайней мере, установить пороговое значение для выходной длины перед установкой автозапуска?Отключить автозапуск ноутбуков iPython

Пробовал следующую команду

%%javascript 
IPython.OutputArea.auto_scroll_threshold = 9999; 

но он дает ошибку

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

Вы можете отредактировать конфигурационный файл ... В то же время, если вы нажмете на стороне результата бар, он будет вращаться от 'autoscroll' до' expand' до '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() {} 
Смежные вопросы