Notebooks Jupyter / IPython: Atalho para “executar todos”?

119

Existe um atalho para executar todas as células em um notebook IPython?

E se não, isso tem um motivo específico?

user3017048
fonte
Por favor, deixe-me saber se você encontrou uma maneira de fazer isso - seria extremamente útil !!!
makansij
8
A coisa mais próxima que consegui encontrar foi entrar no modo de comando por command+ shift+ Pe, em seguida, digitar run all cellse pressionar Enter?
makansij
Não. Pressione esc+ Hpara mostrar os atalhos do teclado. Os atalhos são limitados devido às opções limitadas que não interferem nos atalhos existentes do navegador.
pylang
Ctrl+ shift+ pabre uma janela de navegação privada no firefox para mim!
Färid Alijani,
2
Funcionando perfeitamente com o Anaconda. Cliquei em Ajuda> Editar atalhos de teclado> Executar todas as células e adicionei Shift-R (minha escolha).
Davidson Lima

Respostas:

78

Para o bloco de notas jupyter mais recente, (versão 5) você pode ir para a guia 'ajuda' na parte superior do bloco de notas e então selecionar a opção 'editar atalhos de teclado' e adicionar seu próprio atalho personalizado para a função 'executar todos'.

Arindam
fonte
8
Esta é a resposta! Muito obrigado! Talvez um pequeno comentário para aqueles que são um pouco "cegos" como eu: Você deve clicar em "adicionar atalho" (parece acinzentado) e então digitar literalmente o atalho que deseja usar.
user3017048
No Jupyter 5.5, você pode ir para Kernel -> Reiniciar e Executar Tudo. Isso executará todas as células de cima para baixo.
Chinmoy
5
Como você realmente digita o atalho? Nada funciona para mim quando digito.
mathtick
@mathtick, isso é de um tempo atrás, mas você na janela de edição verá um link "detalhes de definição de atalhos de teclado" que detalha como digitar novos atalhos. Essencialmente, você deve digitar 'Cmd' para o comando, em vez de pressionar 'Cmd'.
exlo
1
@exlo Nenhum link azul no navegador opera .... apenas uma caixa com o título "editar atalhos do modo de comando", um botão OK e nada mais .....
adiro
51

Existe um atalho de menu para executar todas as células em Célula> "Executar tudo". Isso não está vinculado a um atalho de teclado por padrão - você terá que definir sua própria vinculação personalizada de dentro do bloco de notas, conforme descrito aqui .

Por exemplo, para adicionar uma ligação de teclado que permite executar todas as células em um notebook, você pode inserir isso em uma célula:

%%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;
    }}
);

Se você executar este código de dentro do notebook do iPython, deverá descobrir que agora tem uma ligação de teclado para executar todas as células (neste caso, pressione ctrl-M seguido de r)

emunsing
fonte
1
Adicione este código ~/.jupyter/custom/custom.jse reinicie o notebook, e o atalho estará sempre disponível para todos os notebooks.
stason
Existe uma maneira de executar "desta célula em diante"?
Minh Nghĩa
34

Solução mais fácil:

Esc, Ctrl- A, Shift- Enter.

Vitor Abella
fonte
1
Solução simples e direta, sem atrapalhar o jupyter.
sagarr
1
no Mac: Esc, command-A, Shift-Enter. Funciona no JupyterLab, não no bloco de notas Jupyter.
Joseph Sheedy
6

Tenho tentado fazer isso no Jupyter Lab, então pensei que seria útil postar a resposta aqui. Você pode encontrar os atalhos nas configurações e também adicionar os seus próprios, onde uma lista completa dos atalhos possíveis pode ser encontrada aqui .

Por exemplo, adicionei meu próprio atalho para executar todas as células. No Jupyter Lab, em Configurações> Configurações avançadas, selecione Atalhos de teclado e adicione o seguinte código a 'Substituições de usuário':

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

Aqui, Shift + Backspace executará todas as células do bloco de notas.

lstodd
fonte
Apenas para observar, que equivalentemente, Shift-BackSpacepode ser inserido na caixa de diálogo "Editar atalhos de teclado" UI, para o comando de sua escolha, para produzir o mesmo resultado.
matanster
5

Jupyter Lab 1.0.4:

  1. No menu superior, vá para: Settings->Advanced Settings Editor->Keyboard Shortcuts

  2. Cole este código na User Preferencesjanela:

{
    "shortcuts": [
        {
            "command": "runmenu:run-all",
            "keys": [
                "R",
                "R"
            ],
            "selector": "[data-jp-kernel-user]:focus"
        }
    ]
}
  1. Salvar (canto superior direito da user-preferencesjanela)

Isso entrará em vigor imediatamente. Aqui, dois pressionamentos consecutivos de 'R' executam todas as células (como dois '0' para reiniciar o kernel). Notavelmente, system defaultstem modelos vazios para todos os comandos de menu, incluindo este código (pesquisar por run-all). O selectorfoi copiado kernelmenu:restartpara permitir a impressão rdentro das células. Este system defaultscopiar e colar pode ser generalizado para qualquer comando.

Ran Feldesh
fonte
4

A partir do 5.5, você pode executar Kernel > Restart and Run All

lisp-ceo
fonte
Para ser mais preciso: Kernel> Reiniciar Executar -> Executar Todas as Células ou: Executar -> Reiniciar Kernel e Executar Todas as Células
Thomas Hubregtsen