nbconvert 6.0 harus memperbaiki --clear-output
Opsi telah lama rusak sebelumnya, laporan bug dengan tambalan gabungan:https://github.com/jupyter/nbconvert/issues/822
Penggunaan harus untuk operasi di tempat:
jupyter nbconvert --clear-output --inplace my_notebook.ipynb
Atau untuk menyimpan ke file lain bernama my_notebook_no_out.ipynb
:
jupyter nbconvert --clear-output \
--to notebook --output=my_notebook_no_out my_notebook.ipynb
Ini dibawa ke perhatian saya oleh Harold di komentar.
Sebelum nbconvert 6.0:--ClearOutputPreprocessor.enabled=True
Penggunaan yang sama seperti --clear-output
:
jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace my_notebook.ipynb
jupyter nbconvert --ClearOutputPreprocessor.enabled=True \
--to notebook --output=my_notebook_no_out my_notebook.ipynb
Diuji di Jupyter 4.4.0, notebook==5.7.6.
Jika Anda membuat .gitattributes
file, Anda dapat menjalankan filter pada file tertentu sebelum ditambahkan ke git. Ini akan meninggalkan file asli pada disk apa adanya, tetapi melakukan versi "dibersihkan".
Agar ini berfungsi, tambahkan ini ke .git/config
lokal Anda atau ~/.gitconfig
global :
[filter "strip-notebook-output"]
clean = "jupyter nbconvert --ClearOutputPreprocessor.enabled=True --to=notebook --stdin --stdout --log-level=ERROR"
Kemudian buat .gitattributes
file di direktori Anda dengan notebook, dengan konten ini:
*.ipynb filter=strip-notebook-output
Cara kerjanya:
- Atribut memberitahu git untuk menjalankan
clean
filter tindakan pada setiap file notebook sebelum menambahkannya ke indeks (pementasan). - Filternya adalah teman kita
nbconvert
, atur untuk membaca dari stdin, menulis ke stdout, menghapus output, dan hanya berbicara jika ada hal penting yang ingin disampaikan. - Saat file diekstrak dari indeks,
smudge
filter tindakan dijalankan, tetapi ini adalah no-op karena kami tidak menentukannya. Anda dapat menjalankan notebook Anda di sini untuk membuat ulang output (nbconvert --execute
). - Perhatikan bahwa jika filter entah bagaimana gagal, file akan dipentaskan tidak dikonversi.
Satu-satunya keluhan kecil saya dengan proses ini adalah saya dapat melakukan .gitattributes
tetapi saya harus memberi tahu rekan kerja saya untuk memperbarui .git/config
mereka .
Jika Anda menginginkan versi peretasan tetapi jauh lebih cepat, coba JQ:
clean = "jq '.cells[].outputs = [] | .cells[].execution_count = null | .'"
Gunakan --ClearOutputPreprocessor.enabled=True dan --clear-output
Mengikuti perintah ini:
jupyter nbconvert --ClearOutputPreprocessor.enabled=True --clear-output *.ipynb