Отключить автозапуск ноутбуков iPython

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

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

%%javascript
IPython.OutputArea.auto_scroll_threshold = 9999;

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

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

Ответ 1

Чтобы отключить автоматическую прокрутку, выполните этот javascript в ячейке ноутбука перед выполнением других ячеек:

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

Существует также расширение для ipython для ноутбуков, disable_autoscroll, которое вы можете использовать для более постоянного изменения. Для получения более подробной информации следуйте проблеме ipython # 2172.

Ответ 2

Может также быть сделано через пользовательский интерфейс.

  • Отдельные ячейки: Cell-> Current Outputs-> Toggle Scrolling
  • Все ячейки: Cell-> Все Outputs-> Toggle Scrolling

enter image description here

Ответ 3

Аналогичным образом вы можете взломать ячейку для автозапуска, вы можете добавить следующую ячейку:

%%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), не уверен, что какие-либо ячейки выполняются в ненадежных ноутбуках.

Ответ 4

Чтобы отключить прокрутку вниз после команды run all, выполните этот код:

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

Ответ 5

Похоже, что ваша установка ноутбука jupyter некорректна. Я могу подтвердить, что команда, которую вы запускаете, должна работать. Там несколько связанных вопросов в jupyter project github с потоками, которые могут оказаться полезными для устранения проблемы.