Подтвердить что ты не робот

Как включить перенос строк в ноутбуке ipython

Я пытаюсь включить перенос строк в ноутбуке ipython. Я искал его без каких-либо результатов, и я набрал ipython notebook --help в терминале. Это дает мне тонну команд конфигурации для файла конфигурации, но нет переноса строки. Кто-нибудь знает, имеет ли ipnotebook эту функцию, и если да, то как ее включить? Ваша помощь будет принята с благодарностью. Спасибо.

4b9b3361

Ответ 1

Как отметил @Matt, вам нужно настроить CodeMirror для включения обертывания.

Однако это может быть достигнуто простым добавлением следующей строки в ваш custom.js:

 IPython.Cell.options_default.cm_config.lineWrapping = true;

Таким образом, нет необходимости перебирать все ячейки. Аналогичным образом вы можете включить номера строк, установить глубину углубления и т.д. (См. Ссылку, опубликованную by @Matt для других опций). Местоположение вашего custom.js зависит от вашей ОС (на моей машине Ubuntu это ~/.ipython/profile_default/static/custom).

Обновление:

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

define([
    'base/js/namespace',
    'base/js/events'
    ],
    function(IPython, events) {
        events.on("app_initialized.NotebookApp",
            function () {
                IPython.Cell.options_default.cm_config.lineWrapping = true;
            }
        );
    }
);

Ответ 2

Чтобы реализовать перенос строк в ноутбуках в ipython 3, я использовал ответ @Jakob, связанный выше, и фактический ответ @Jakob. Использование одной строки кода в моем случае не работало - однако добавление следующего к custom.js делает:

$([IPython.events]).on('app_initialized.NotebookApp', function(){
  IPython.CodeCell.options_default['cm_config']['lineWrapping'] = true;
});

Ответ 3

Большая часть ноутбука оснащена Codemirror, поэтому вы можете найти эту проблему: у нас нет простого способа передачи конфигурации в CodeMirror, так что вам нужно будет вычислить некоторый javascript un custom.js, чтобы применить конфигурацию к нужному объекту.

С головы и рук: я бы сказал IPython.CodeCell.default_options.cm les lineWrapping true, а затем цикл через IPython.notebook.get_cells() (уже созданный объект) захватил их атрибут editor и setOption('lineWrapping',true).

Вы можете сделать расширение JS, которое это сделает, и предложить (и вдохнуть) здесь.