Notebooks Jupyter / IPython: ¿Acceso directo para "ejecutar todo"?

119

¿Existe un atajo para ejecutar todas las celdas en un cuaderno IPython?

Y si no, ¿tiene esto una razón específica?

usuario3017048
fuente
Por favor, avíseme si encontró una manera de hacer esto, ¡sería extremadamente útil!
makansij
8
Lo más cercano que pude encontrar fue ingresar al modo de comando con command+ shift+ Py luego escribir run all cellsy presionar enter?
makansij
No. Presione esc+ Hpara mostrar los atajos de teclado. Los accesos directos son moderados debido a las opciones limitadas que no interfieren con los accesos directos del navegador existentes.
pylang
Ctrl+ shift+ ¡ pabre una ventana de navegación privada en Firefox para mí!
Färid Alijani
2
Funcionando perfectamente con Anaconda. Hice clic en Ayuda> Editar atajos de teclado> Ejecutar todas las celdas y agregué Shift-R (mi elección).
Davidson Lima

Respuestas:

78

Para el último cuaderno de jupyter, (versión 5) puede ir a la pestaña 'ayuda' en la parte superior del cuaderno y luego seleccionar la opción 'editar atajos de teclado' y agregar su propio atajo personalizado para la función 'ejecutar todo'.

Arindam
fuente
8
¡Esta es la respuesta! ¡Muchas gracias! Quizás un pequeño comentario para aquellos que son un poco "ciegos" como yo: tienes que hacer clic en "agregar acceso directo" (parece atenuado) y luego escribir literalmente el acceso directo que deseas usar.
user3017048
A partir de Jupyter 5.5, puede ir a Kernel -> Reiniciar y ejecutar todo. Esto ejecutará todas las celdas de arriba a abajo.
Chinmoy
5
¿Cómo se escribe realmente el atajo? Nada me funciona cuando escribo.
mathtick
@mathtick, esto es de hace un tiempo, pero en la ventana de edición verá un enlace de "detalles de la definición de atajos de teclado" que detalla cómo escribir nuevos atajos. Esencialmente, debe escribir 'Cmd' para el comando, en lugar de presionar 'Cmd'.
exlo
1
@exlo No hay enlace azul en el navegador Opera .... solo un cuadro con un título "Editar atajos del modo de comando", un botón Aceptar y nada más .....
adiro
51

Hay un atajo de menú para ejecutar todas las celdas en Celda> "Ejecutar todo". Esto no está vinculado a un método abreviado de teclado de forma predeterminada; tendrá que definir su propio enlace personalizado desde dentro del cuaderno, como se describe aquí .

Por ejemplo, para agregar un enlace de teclado que le permita ejecutar todas las celdas en un cuaderno, puede insertar esto en una celda:

%%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 ejecuta este código desde dentro del cuaderno iPython, debería encontrar que ahora tiene un enlace de teclado para ejecutar todas las celdas (en este caso, presione ctrl-M seguido de r)

emuning
fuente
1
Agregue este código ~/.jupyter/custom/custom.jsy reinicie el portátil, y el acceso directo estará siempre disponible para todos los portátiles.
stason
¿Hay alguna forma de ejecutar "desde esta celda en adelante"?
Minh Nghĩa
34

Solución más sencilla:

Esc, Ctrl- A, Shift- Enter.

Vitor Abella
fuente
1
Solución simple y directa sin meterse con jupyter.
sagarr
1
en Mac: Esc, comando-A, Shift-Enter. Funciona en JupyterLab, no en el cuaderno Jupyter.
Joseph Sheedy
6

He intentado hacer esto en Jupyter Lab, así que pensé que podría ser útil publicar la respuesta aquí. Puede encontrar los accesos directos en la configuración y también agregar los suyos, donde se puede encontrar una lista completa de los posibles accesos directos aquí .

Por ejemplo, agregué mi propio atajo para ejecutar todas las celdas. En Jupyter Lab, en Configuración> Configuración avanzada, seleccione Atajos de teclado, luego agregue el siguiente código a 'Reemplazos de usuario':

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

Aquí, Shift + Backspace ejecutará todas las celdas en el cuaderno.

lstodd
fuente
Solo tenga en cuenta que, de manera equivalente, Shift-BackSpacese puede ingresar en el cuadro de diálogo de la interfaz de usuario "Editar atajos de teclado", para el comando de su elección, para obtener el mismo resultado.
matanster
5

Jupyter Lab 1.0.4:

  1. En el menú superior, vaya a: Settings->Advanced Settings Editor->Keyboard Shortcuts

  2. Pega este código en la User Preferencesventana:

{
    "shortcuts": [
        {
            "command": "runmenu:run-all",
            "keys": [
                "R",
                "R"
            ],
            "selector": "[data-jp-kernel-user]:focus"
        }
    ]
}
  1. Guardar (parte superior derecha de la user-preferencesventana)

Esto será efectivo de inmediato. Aquí, dos pulsaciones consecutivas de 'R' ejecutan todas las celdas (como dos '0' para reiniciar el kernel). En particular, system defaultstiene plantillas vacías para todos los comandos de menú, incluido este código (buscar run-all). Se selectorcopió de kernelmenu:restart, para permitir la impresión rdentro de las celdas. Este system defaultscopiar y pegar se puede generalizar a cualquier comando.

Ran Feldesh
fuente
4

A partir de la 5.5 puede ejecutar Kernel > Restart and Run All

ceo ceo
fuente
Para ser más precisos: Kernel> Reiniciar Ejecutar -> Ejecutar todas las celdas o: Ejecutar -> Reiniciar el núcleo y ejecutar todas las celdas
Thomas Hubregtsen