Ordinateurs portables Jupyter / IPython: raccourci pour «tout exécuter»?


119

Existe-t-il un raccourci pour exécuter toutes les cellules d'un bloc-notes IPython?

Et si non, cela a-t-il une raison spécifique?


S'il vous plaît laissez-moi savoir si vous avez trouvé un moyen de le faire - ce serait extrêmement utile !!!
makansij

8
La chose la plus proche que j'ai pu trouver était d'entrer dans le mode de commande par command+ shift+ P, puis tapez run all cellset appuyez sur Entrée?
makansij

Non. Appuyez sur esc+ Hpour afficher les raccourcis clavier. Les raccourcis sont rares en raison des options limitées qui n'interfèrent pas avec les raccourcis de navigateur existants.
pylang

Ctrl+ shift+ pouvre une fenêtre de navigation privée dans Firefox pour moi!
Färid Alijani du

2
Travaille parfaitement avec Anaconda. J'ai cliqué sur Aide> Modifier les raccourcis clavier> Exécuter toutes les cellules et j'ai ajouté Shift-R (mon choix).
Davidson Lima

Réponses:


78

Pour le dernier notebook jupyter, (version 5), vous pouvez aller dans l'onglet `` aide '' en haut du notebook, puis sélectionner l'option `` modifier les raccourcis clavier '' et ajouter votre propre raccourci personnalisé pour la fonction `` tout exécuter ''.


8
Voilà la réponse! Merci beaucoup! Peut-être un petit commentaire pour ceux qui sont un peu "aveugles" comme moi: il faut cliquer sur "ajouter un raccourci" (semble grisé) puis taper littéralement le raccourci que vous voulez utiliser.
user3017048

À partir de Jupyter 5.5, vous pouvez accéder au noyau -> Redémarrer et tout exécuter. Cela exécutera toutes les cellules de haut en bas.
Chinmoy

5
Comment tapez-vous réellement le raccourci? Rien ne fonctionne pour moi lorsque je tape.
mathtick

@mathtick, cela date d'il y a quelque temps, mais dans la fenêtre d'édition, vous verrez un lien "Détails sur la définition des raccourcis clavier" qui détaille comment taper de nouveaux raccourcis. Essentiellement, vous devez taper «Cmd» pour la commande, au lieu d'appuyer sur «Cmd».
exlo le

1
@exlo Pas de lien bleu dans le navigateur Opera .... juste une boîte avec un titre "modifier les raccourcis du mode de commande", un bouton OK et rien d'autre .....
adiro

51

Il existe un raccourci de menu pour exécuter toutes les cellules sous Cell> "Tout exécuter". Cela n'est pas lié à un raccourci clavier par défaut - vous devrez définir votre propre liaison personnalisée à partir du bloc-notes, comme décrit ici .

Par exemple, pour ajouter une liaison de clavier qui vous permet d'exécuter toutes les cellules d'un bloc-notes, vous pouvez l'insérer dans une cellule:

%%javascript

Jupyter.keyboard_manager.command_shortcuts.add_shortcut('r', {
    help : 'run all cells',
    help_index : 'zz',
    handler : function (event) {
        IPython.notebook.execute_all_cells();
        return false;
    }}
);

Si vous exécutez ce code à partir du bloc-notes iPython, vous devriez constater que vous disposez maintenant d'une liaison clavier pour exécuter toutes les cellules (dans ce cas, appuyez sur ctrl-M suivi de r)


1
Ajoutez ce code ~/.jupyter/custom/custom.jset redémarrez le bloc-notes, et le raccourci sera toujours disponible pour tous les blocs-notes.
stason

Existe-t-il un moyen d'exécuter "à partir de cette cellule"?
Minh Nghĩa le

34

Solution la plus simple:

Esc, Ctrl- A, Shift- Enter.


1
Solution simple et directe sans gâcher avec jupyter.
sagarr

1
sur Mac: Echap, commande-A, Maj-Entrée. Fonctionne dans JupyterLab, pas dans le bloc-notes Jupyter.
Joseph Sheedy

6

J'ai essayé de le faire dans Jupyter Lab, alors j'ai pensé qu'il pourrait être utile de publier la réponse ici. Vous pouvez trouver les raccourcis dans les paramètres et ajouter les vôtres, où une liste complète des raccourcis possibles peut être trouvée ici .

Par exemple, j'ai ajouté mon propre raccourci pour exécuter toutes les cellules. Dans Jupyter Lab, sous Paramètres> Paramètres avancés, sélectionnez Raccourcis clavier, puis ajoutez le code suivant à `` Remplacements utilisateur '':

{
    "notebook:run-all-cells": {
      "command": "notebook:run-all-cells",
      "keys": [
        "Shift Backspace"
      ],
      "selector": ".jp-Notebook.jp-mod-editMode"
    }
}

Ici, Shift + Backspace exécutera toutes les cellules du bloc-notes.


Juste à noter, cela de manière équivalente, Shift-BackSpacepeut être entré dans la boîte de dialogue d'interface utilisateur "Modifier les raccourcis clavier", pour la commande de votre choix, pour donner le même résultat.
matanster le

5

Jupyter Lab 1.0.4:

  1. Dans le menu supérieur, accédez à: Settings->Advanced Settings Editor->Keyboard Shortcuts

  2. Collez ce code dans la User Preferencesfenêtre:

{
    "shortcuts": [
        {
            "command": "runmenu:run-all",
            "keys": [
                "R",
                "R"
            ],
            "selector": "[data-jp-kernel-user]:focus"
        }
    ]
}
  1. Enregistrer (en haut à droite de la user-preferencesfenêtre)

Cela sera effectif immédiatement. Ici, deux pressions consécutives sur «R» exécutent toutes les cellules (tout comme deux «0» pour le redémarrage du noyau). Notamment, system defaultsa des modèles vides pour toutes les commandes de menu, y compris ce code (recherche de run-all). Le a selectorété copié à partir de kernelmenu:restart, pour permettre l'impression rdans les cellules. Ce system defaultscopier-coller peut être généralisé à n'importe quelle commande.


4

À partir de 5.5, vous pouvez exécuter Kernel > Restart and Run All


Pour être plus précis: Kernel> Redémarrer Exécuter -> Exécuter toutes les cellules ou: Exécuter -> Redémarrer le noyau et exécuter toutes les cellules
Thomas Hubregtsen
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.