Pokazywanie numerów wierszy w notatnikach IPython / Jupyter


139

Raporty o błędach z większości jąder języków działających w notatnikach IPython / Jupyter wskazują wiersz, w którym wystąpił błąd; ale (przynajmniej domyślnie) w Notatnikach nie ma numerów linii.

Czy można dodać numery linii do notebooków IPython / Jupyter?


Przydałaby się również zmiana domyślnego zachowania notatnika ipython tak, aby domyślnie wyświetlał numery linii
gota

Odpowiedzi:


169

CTRL- MLprzełącza numery linii w obszarze CodeMirror. Zobacz Szybką pomoc, aby uzyskać informacje o innych skrótach klawiaturowych.

Bardziej szczegółowo CTRL- M(lub ESC) przenieś cię do trybu poleceń, a następnie naciśnięcie Lklawiszy powinno przełączyć widoczność bieżących numerów linii komórkowych. W nowszych wersjach notebooków Shift-Lnależy przełączać się na wszystkie komórki.

Jeśli nie pamiętasz skrótu, otwórz paletę poleceń Ctrl-Shift+P( Cmd+Shift+Pna Macu) i wyszukaj „numery wierszy”), powinno to pozwolić na przełączenie i wyświetlenie skrótu.


83
W przypadku Ipythona 3 (Jupyter), w trybie poleceń (Esc), wystarczy nacisnąć "L", aby przełączyć numery linii
Julien Marrec

7
Czy istnieje sposób na automatyczne dodanie numeru linii do wszystkich komórek w Jowiszu
ChathuraG

1
Służy Ctrl-m hdo wyświetlania wszystkich skrótów klawiaturowych w ipython notebook. Alternatywnie możesz kliknąć QuckHelpu góry, aby wyświetlić skróty
nexayq

Ctrl-Shift+Po zwycięstwo
openwonk

81

Na IPythonie 2.2.0 wystarczy wpisać l (małe litery L) w trybie poleceń (aktywowanym klawiszem Esc). Zobacz [Pomoc] - [Skróty klawiaturowe] dla innych skrótów.

Możesz także ustawić domyślne zachowanie, aby wyświetlać numery linii, edytując custom.js.


4
Nie rozumiem, dlaczego ta odpowiedź nie została zaakceptowana (może opublikowana za późno?), Ponieważ jest to poprawna odpowiedź, jeśli nie używasz CodeMirror, ale tylko Notatnik IPython. EDYCJA: w rzeczywistości Notatnik IPython używa CodeMirror. Więc obie odpowiedzi są poprawne. Dowiedziałem się dziś czegoś nowego, dzięki!
wylewny

dzięki, to działało dla notebooka jupyter w chromie. wydaje się to najłatwiejsze ...
user391339

38

Wybierz opcję Przełącz numer linii z View-> Toggle Line Number.

Menu wygląda tak


1
Nie mogę uwierzyć, że to było takie proste. Nie jestem pewien, dlaczego nie jest domyślnie włączony, gdy wyświetlają błędy w wierszu. Byłoby miło, gdyby notatnik po prostu zaznaczył wiersz, który spowodował błąd.
Kaito

9

Aby domyślnie włączyć numery linii we wszystkich komórkach podczas uruchamiania, polecam ten link . Cytuję:

  1. Przejdź do katalogu konfiguracji jupyter, który można znaleźć, wpisując w wierszu poleceń:

    jupyter --config-dir
  2. Stamtąd otwórz lub utwórz customfolder.

  3. W tym folderze powinieneś znaleźć custom.jsplik. Jeśli takiego nie ma, powinieneś być w stanie go utworzyć. Otwórz go w edytorze tekstu i dodaj ten kod:

    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

U mnie ctrl + msłuży do zapisywania strony jako png, więc nie działa poprawnie. Ale znajduję inny sposób.

Na pasku narzędzi znajduje się dół o nazwie otwórz paletę poleceń , możesz go kliknąć i wpisać wiersz, a tutaj możesz zobaczyć przełączany numer linii komórki.


7

Oto, jak poznać aktywny skrót (w zależności od wersji systemu operacyjnego i notebooka może się zmienić)

Help > Keyboard Shortcuts > toggle line numbers

Na OSX z ipython3 tak było ESC L


1

Możesz również znaleźć Toggle Line Numberspod Viewna górnym pasku narzędzi notatnika Jupyter w przeglądarce. Spowoduje to dodanie / usunięcie numerów linii we wszystkich komórkach notatnika.

U mnie Esc+ ldodałem / usunąłem tylko numery linii aktywnej komórki.



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.