Показ номерів рядків у ноутбуках IPython / Jupyter


139

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

Чи можливо додати номери рядків до ноутбуків IPython / Jupyter?


Було б також корисно змінити поведінку ноутбука ipython за замовчуванням, щоб вона відображала номери рядків за замовчуванням
gota

Відповіді:


169

CTRL- MLперемикає номери ліній в області CodeMirror. Інші комбінації клавіш див. У QuickHelp.

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

Якщо ви не можете запам'ятати ярлик, підберіть палітру команд Ctrl-Shift+P( Cmd+Shift+Pна Mac) та шукайте "номери рядків"), вона повинна дозволяти перемикати та показувати ярлик.


83
Для Ipython 3 (Jupyter), в командному режимі (Esc), вам просто потрібно натиснути "L" для перемикання номерів рядків
Жюльєн Маррек

7
Чи є спосіб автоматично додати номер рядка до всіх комірок Юпітера
ChathuraG

1
Використовуйте Ctrl-m hдля показу всіх комбінацій клавіш у ноутбуці ipython. Крім того, ви можете натиснути QuckHelpвгорі, щоб показати ярлики
nexayq

Ctrl-Shift+Pна перемогу
openwonk

81

У IPython 2.2.0 працює просто введення l (малого регістру L) у командному режимі (активоване введенням Esc). Див. [Довідка] - [Комбінації клавіш] для інших ярликів.

Крім того, ви можете встановити поведінку за замовчуванням для відображення номерів рядків шляхом редагування custom.js.


4
Я не розумію, як ця відповідь не була прийнята (можливо, розміщена надто пізно?), Тому що це правильний варіант, якщо ви не використовуєте CodeMirror, а просто IPython Notebook. EDIT: насправді ноутбук IPython використовує CodeMirror. Тож обидві відповіді правильні. Сьогодні дізналися щось нове, дякую!
габоровий

спасибі, це працювало для зошита з юпітером у хромі. це здається найпростішим ...
користувач391339

38

Виберіть параметр Номер перемикання рядка з View-> Toggle Line Number.

Меню виглядає приблизно так


1
Я не можу повірити, що це було так просто. Не впевнений, чому він не за замовчуванням, коли вони дають помилки за рядком. Було б добре, якби ноутбук лише виділив рядок, який видав помилку.
Kaito

9

Щоб увімкнути номери рядків за замовчуванням у всіх клітинках при запуску, я рекомендую це посилання . Цитую:

  1. Перейдіть до каталогу конфігурації юпітера, який ви можете знайти, ввівши в командному рядку наступне:

    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, тому вона не працює належним чином. Але я знаходжу інший спосіб.

На панелі інструментів є нижня назва, відкрита команда paletee , ви можете натиснути її та ввести рядок, і ви можете побачити номер рядка комірки, що перемикається тут.


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.