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?

utilisateur3017048
la source
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 ''.

Arindam
la source
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)

emunsing
la source
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.

Vitor Abella
la source
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.

lstodd
la source
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.

Ran Feldesh
la source
4

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

lisp-ceo
la source
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