Affichage des numéros de ligne dans les ordinateurs portables IPython / Jupyter

139

Les rapports d'erreurs de la plupart des noyaux de langage exécutés dans IPython / Jupyter Notebooks indiquent la ligne sur laquelle l'erreur s'est produite; mais (au moins par défaut) aucun numéro de ligne n'est indiqué dans les blocs-notes.

Est-il possible d'ajouter les numéros de ligne aux notebooks IPython / Jupyter?

Ruggero Turra
la source
Il serait également utile de modifier le comportement par défaut du bloc-notes ipython de sorte qu'il affiche les numéros de ligne par défaut
gota

Réponses:

169

CTRL- MLbascule les numéros de ligne dans la zone CodeMirror. Consultez l'Aide rapide pour d'autres raccourcis clavier.

Plus en détail CTRL- M(ou ESC) vous amène au mode commande, puis appuyez sur les Ltouches pour faire basculer la visibilité des numéros de ligne cellulaire actuels. Dans les versions de notebook plus récentes, Shift-Ltoutes les cellules doivent être activées.

Si vous ne vous souvenez pas du raccourci, faites apparaître la palette de commandes Ctrl-Shift+P( Cmd+Shift+Psur Mac) et recherchez "numéros de ligne"), cela devrait permettre de basculer et de vous montrer le raccourci.

vison
la source
83
Pour Ipython 3 (Jupyter), en mode commande (Esc), il suffit d'appuyer sur "L" pour basculer les numéros de ligne
Julien Marrec
7
Existe-t-il un moyen d'ajouter automatiquement un numéro de ligne à toutes les cellules de Jupiter
ChathuraG
1
Utilisez Ctrl-m hpour afficher tous les raccourcis clavier dans le bloc-notes ipython. Sinon, vous pouvez cliquer sur QuckHelpen haut pour afficher les raccourcis
nexayq
Ctrl-Shift+Ppour la victoire
openwonk
81

Sur IPython 2.2.0, il suffit de taper l (L minuscule) en mode commande (activé en tapant Esc). Voir [Aide] - [Raccourcis clavier] pour d'autres raccourcis.

En outre, vous pouvez définir le comportement par défaut pour afficher les numéros de ligne en les modifiant custom.js.

Ronnefeldt
la source
4
Je ne comprends pas comment cette réponse n'a pas été acceptée (peut-être postée trop tard?), Car c'est la bonne si vous n'utilisez pas CodeMirror mais seulement IPython Notebook. EDIT: en fait, IPython Notebook utilise CodeMirror. Les deux réponses sont donc correctes. J'ai appris quelque chose de nouveau aujourd'hui, merci!
gaborous
merci, cela a fonctionné pour le notebook jupyter en chrome. cela semble plus facile ...
user391339
38

Sélectionnez l'option Basculer le numéro de ligne dans View-> Toggle Line Number.

Le menu ressemble à ceci

Jitu Shinde
la source
1
Je ne peux pas croire que c'était aussi simple. Je ne sais pas pourquoi ce n'est pas activé par défaut quand ils donnent des erreurs par ligne. Ce serait bien si le cahier mettait simplement en évidence la ligne qui a donné l'erreur.
Kaito
9

Pour activer les numéros de ligne par défaut dans toutes les cellules au démarrage, je recommande ce lien . Je cite:

  1. Accédez à votre répertoire de configuration jupyter, que vous pouvez trouver en tapant ce qui suit sur la ligne de commande:

    jupyter --config-dir
  2. À partir de là, ouvrez ou créez le customdossier.

  3. Dans ce dossier, vous devriez trouver un custom.jsfichier. S'il n'y en a pas, vous devriez pouvoir en créer un. Ouvrez-le dans un éditeur de texte et ajoutez ce code:

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

Pour moi, ctrl + mest utilisé pour enregistrer la page Web au format png, donc cela ne fonctionne pas correctement. Mais je trouve un autre moyen.

Sur la barre d'outils, il y a un bas nommé ouvrez la palette de commandes , vous pouvez cliquer dessus et taper dans la ligne, et vous pouvez voir le numéro de ligne de cellule à bascule ici.

Pythoner
la source
7

Voici comment connaître le raccourci actif (en fonction de votre système d'exploitation et de la version de votre ordinateur portable, cela peut changer)

Help > Keyboard Shortcuts > toggle line numbers

Sur OSX exécutant ipython3, c'était ESC L

Thamme Gowda
la source
1

Vous pouvez également trouver Toggle Line Numbersdans Viewla barre d'outils supérieure du notebook Jupyter dans votre navigateur. Cela ajoute / supprime les numéros de lignes dans toutes les cellules du bloc-notes.

Pour moi, Esc+ lseulement ajouté / supprimé les numéros de ligne de la cellule active.

yanfri
la source
1

Shift-LJe cherchais ceci: dans JupyterLab 1.0.0

dzang
la source
-3

1. appuyez sur échap pour entrer dans le mode de commande 2.perssl (it L en minuscule) pour afficher le numéro de ligne

Mo Li
la source
Cela a été publié il y a 3 ans déjà stackoverflow.com/a/26174059/3001626 , pourquoi republier sur le même fil?
David Arenburg