Jupyter / IPython Notebooks: Pintasan untuk "run all"?

119

Apakah ada jalan pintas untuk menjalankan semua sel di notebook IPython?

Dan jika tidak, apakah ini memiliki alasan khusus?

pengguna3017048
sumber
Tolong beritahu saya jika Anda menemukan cara untuk melakukan ini - itu akan sangat berguna !!!
makansij
8
Hal terdekat yang dapat saya temukan adalah masuk ke mode perintah dengan command+ shift+ Plalu ketik run all cellsdan tekan enter?
makansij
Tidak. Tekan esc+ Huntuk menampilkan pintasan keyboard. Pintasan hemat karena opsi terbatas yang tidak mengganggu pintasan browser yang ada.
pylang
Ctrl+ shift+ pmembuka jendela penelusuran pribadi di firefox untuk saya!
Färid Alijani
2
Bekerja sempurna dengan Anaconda. Saya mengklik Bantuan> Edit Pintasan Keyboard> Jalankan Semua Sel dan menambahkan Shift-R (pilihan saya).
Davidson Lima

Jawaban:

78

Untuk notebook jupyter terbaru, (versi 5) Anda dapat pergi ke tab 'bantuan' di bagian atas buku catatan dan kemudian pilih opsi 'edit pintasan keyboard' dan tambahkan pintasan khusus Anda sendiri untuk fungsi 'jalankan semua'.

Arindam
sumber
8
Inilah jawabannya! Terima kasih banyak! Mungkin satu komentar kecil untuk mereka yang agak "buta" seperti saya: Anda harus mengklik "tambahkan pintasan" (tampak berwarna abu-abu) dan kemudian ketik pintasan yang ingin Anda gunakan.
pengguna3017048
Pada Jupyter 5.5 Anda dapat pergi ke Kernel -> Restart dan Run All. Ini akan menjalankan semua sel dari atas ke bawah.
Chinmoy
5
Bagaimana Anda sebenarnya mengetik pintasan? Tidak ada yang berhasil untuk saya saat saya mengetik.
mathtick
@mathtick, ini dari beberapa waktu yang lalu tetapi Anda di jendela pengeditan, Anda akan melihat tautan "detail menentukan pintasan keyboard" yang merinci cara mengetik pintasan baru. Pada dasarnya Anda harus mengetikkan 'Cmd' untuk perintah, daripada menekan 'Cmd'.
exlo
1
@exlo Tidak ada tautan biru di browser opera .... hanya kotak dengan judul "edit pintasan mode perintah", tombol OK dan tidak ada yang lain .....
adiro
51

Ada pintasan menu untuk menjalankan semua sel di bawah Sel> "Jalankan Semua". Ini tidak terikat ke pintasan keyboard secara default- Anda harus menentukan pengikatan kustom Anda sendiri dari dalam buku catatan, seperti yang dijelaskan di sini .

Misalnya, untuk menambahkan pengikatan keyboard yang memungkinkan Anda menjalankan semua sel dalam buku catatan, Anda dapat menyisipkan ini dalam sel:

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

Jika Anda menjalankan kode ini dari dalam notebook iPython, Anda akan menemukan bahwa Anda sekarang memiliki pengikatan keyboard untuk menjalankan semua sel (dalam hal ini, tekan ctrl-M diikuti oleh r)

emunsing
sumber
1
Tambahkan kode ini ke ~/.jupyter/custom/custom.jsdan mulai ulang buku catatan, dan pintasan akan selalu tersedia untuk semua buku catatan.
stason
Apakah ada cara untuk lari "dari sel ini dan seterusnya"?
Minh Nghĩa
34

Solusi termudah:

Esc, Ctrl- A, Shift- Enter.

Vitor Abella
sumber
1
Solusi sederhana dan mudah tanpa mengacaukan jupyter.
sagarr
1
di Mac: Esc, command-A, Shift-Enter. Berfungsi di JupyterLab, bukan notebook Jupyter.
Joseph Sheedy
6

Saya sudah mencoba melakukan ini di Lab Jupyter jadi saya pikir mungkin berguna untuk memposting jawabannya di sini. Anda dapat menemukan pintasan di pengaturan dan juga menambahkan pintasan Anda sendiri, di mana daftar lengkap kemungkinan pintasan dapat ditemukan di sini .

Misalnya, saya menambahkan pintasan saya sendiri untuk menjalankan semua sel. Di Jupyter Lab, di bawah Pengaturan> Pengaturan Lanjutan, pilih Pintasan Keyboard, lalu tambahkan kode berikut ke 'Penggantian Pengguna':

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

Di sini, Shift + Backspace akan menjalankan semua sel di notebook.

lstodd
sumber
Sekadar catatan, yang setara, Shift-BackSpacedapat dimasukkan dalam dialog UI "Edit Keyboard Shortcuts", untuk perintah pilihan Anda, untuk menghasilkan hasil yang sama.
matanster
5

Jupyter Lab 1.0.4:

  1. Di menu atas, buka: Settings->Advanced Settings Editor->Keyboard Shortcuts

  2. Tempel kode ini di User Preferencesjendela:

{
    "shortcuts": [
        {
            "command": "runmenu:run-all",
            "keys": [
                "R",
                "R"
            ],
            "selector": "[data-jp-kernel-user]:focus"
        }
    ]
}
  1. Simpan (kanan atas user-preferencesjendela)

Ini akan segera efektif. Di sini, dua penekanan 'R' berturut-turut menjalankan semua sel (seperti dua '0' untuk memulai ulang kernel). Khususnya, system defaultsmemiliki template kosong untuk semua perintah menu, termasuk kode ini (cari run-all). Itu selectordisalin dari kernelmenu:restart, untuk memungkinkan pencetakan di rdalam sel. Ini system defaultscopy-paste dapat digeneralisasi untuk perintah apapun.

Ran Feldesh
sumber
4

Mulai 5,5 Anda dapat berlari Kernel > Restart and Run All

lisp-ceo
sumber
Lebih tepatnya: Kernel> Restart Run -> Run All Cells atau: Run -> Restart Kernel dan Run All Cells
Thomas Hubregtsen