Отображение номеров строк в блокнотах IPython / Jupyter


144

В отчетах об ошибках от большинства языковых ядер, работающих в IPython / Jupyter Notebooks, указывается строка, в которой произошла ошибка; но (по крайней мере, по умолчанию) в записных книжках номера строк не указаны.

Можно ли добавить номера строк в ноутбуки IPython / Jupyter?


Было бы также полезно изменить поведение ноутбука ipython по умолчанию, чтобы он отображал номера строк по умолчанию
gota

Ответы:


175

CTRL- MLпереключает номера строк в области CodeMirror. См. В QuickHelp другие сочетания клавиш.

Более подробно CTRL- M(или ESC) переводит вас в командный режим, затем нажатие Lклавиш должно переключать видимость текущих номеров строк ячеек. В более поздних версиях ноутбуков Shift-Lследует переключать все ячейки.

Если вы не можете вспомнить ярлык, откройте палитру команд Ctrl-Shift+P( Cmd+Shift+Pна Mac) и найдите «номера строк»), это должно позволить переключиться и показать вам ярлык.


84
Для Ipython 3 (Jupyter) в командном режиме (Esc) вам просто нужно нажать «L», чтобы переключать номера строк
Жюльен Маррек,

7
Есть ли способ автоматически добавить номер строки ко всем ячейкам в Юпитере
ChathuraG

1
Используется Ctrl-m hдля отображения всех сочетаний клавиш в ipython notebook. Или вы можете нажать QuckHelpнаверху, чтобы отобразить ярлыки
nexayq

1
Ctrl-Shift+Pна победу
openwonk

81

В IPython 2.2.0 можно просто ввести l (строчная L) в командном режиме (активируется нажатием Esc). См. [Справка] - [Сочетания клавиш] для получения информации о других сочетаниях клавиш.

Кроме того, вы можете установить поведение по умолчанию для отображения номеров строк путем редактирования custom.js.


4
Я не понимаю, почему этот ответ не был принят (может быть, опубликован слишком поздно?), Потому что это правильный ответ, если вы не используете CodeMirror, а просто IPython Notebook. РЕДАКТИРОВАТЬ: на самом деле IPython Notebook использует CodeMirror. Итак, оба ответа верны. Узнал сегодня что-то новое, спасибо!
gaborous

спасибо, это сработало для ноутбука jupyter в хроме. это кажется самым простым ...
user391339

42

Выберите параметр «Переключить номер строки» View-> Toggle Line Number.

Меню выглядит так


2
Не могу поверить, что это было так просто. Не уверен, почему он не включен по умолчанию, когда они выдают ошибки построчно. Было бы неплохо, если бы блокнот просто выделил строку, в которой возникла ошибка.
Kaito

10

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

  1. Перейдите в каталог конфигурации jupyter, который вы можете найти, набрав в командной строке следующее:

    jupyter --config-dir
    
  2. Оттуда откройте или создайте customпапку.

  3. В этой папке вы должны найти custom.jsфайл. Если его нет, вы сможете его создать. Откройте его в текстовом редакторе и добавьте этот код:

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

8

Для меня ctrl + mон используется для сохранения веб-страницы как png, поэтому он не работает должным образом. Но я найду другой способ.

На панели инструментов есть нижняя часть с именем, открывающая палитру команд , вы можете щелкнуть ее и ввести строку, и вы можете увидеть здесь номер строки переключателя.


7

Вот как узнать активный ярлык (в зависимости от вашей ОС и версии ноутбука он может измениться)

Help > Keyboard Shortcuts > toggle line numbers

В OSX с запущенным ipython3 это было ESC L


1

Вы также можете найти Toggle Line Numbersпод Viewверхней панели ноутбука Jupyter в вашем браузере. Это добавляет / удаляет номера строк во всех ячейках записной книжки.

Для меня Esc+ lтолько добавил / убрал номера строк активной ячейки.




Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.