Apakah Anda selalu berharap buku catatan Jupyter menjadi dokumen teks biasa? Berharap Anda bisa mengeditnya di IDE favorit Anda? Dan dapatkan perbedaan yang jelas dan bermakna saat melakukan kontrol versi? Maka, Jupytext mungkin adalah alat yang Anda cari!
Buku catatan Python yang dikodekan dalam format py:percent
memiliki ekstensi .py
dan terlihat seperti ini:
# %% [markdown]
# This is a markdown cell
# %%
def f(x):
return 3*x+1
Hanya input buku catatan (dan opsional, metadata) yang disertakan. Buku catatan teks sangat cocok untuk kontrol versi. Anda juga dapat mengedit atau memfaktorkannya ulang dalam IDE - notebook .py
di atas adalah file Python biasa.
Kami merekomendasikan format percent
untuk buku catatan yang sebagian besar berisi kode. Format percent
tersedia untuk Julia, Python, R dan banyak bahasa lainnya.
Jika buku catatan Anda berorientasi pada dokumentasi, format berbasis penurunan harga (buku catatan teks dengan ekstensi .md
) mungkin lebih tepat. Bergantung pada apa yang ingin Anda lakukan dengan buku catatan Anda, Anda mungkin lebih memilih format Myst Markdown, yang bekerja sangat baik dengan Jupyter Book, atau Quarto Markdown, atau bahkan Pandoc Markdown.
Instal Jupytext di lingkungan Python yang Anda gunakan untuk Jupyter. Gunakan keduanya
pip install jupytext
atau
conda install jupytext -c conda-forge
Kemudian, restart server Jupyter Lab Anda, dan pastikan Jupytext diaktifkan di Jupyter: file .py
dan .md
memiliki ikon Notebook, dan Anda dapat membukanya sebagai Notebook dengan klik kanan di Jupyter Lab.
Buku catatan teks dengan ekstensi .py
atau .md
sangat cocok untuk kontrol versi. Mereka dapat diedit atau ditulis dengan nyaman dalam IDE. Anda dapat membuka dan menjalankannya sebagai buku catatan di Jupyter Lab dengan klik kanan. Namun, keluaran buku catatan akan hilang ketika buku catatan ditutup, karena hanya masukan buku catatan yang disimpan dalam buku catatan teks.
Alternatif praktis untuk buku catatan teks adalah buku catatan berpasangan. Ini adalah kumpulan dua file, misalnya .ipynb
dan .py
, yang berisi buku catatan yang sama, namun dalam format berbeda.
Anda dapat mengedit versi .py
dari buku catatan yang dipasangkan, dan mendapatkan kembali hasil edit di Jupyter dengan memilih reload notebook from disk . Outputnya akan dimuat ulang dari file .ipynb
, jika ada. Versi .ipynb
akan diperbarui atau dibuat ulang saat berikutnya Anda menyimpan buku catatan di Jupyter.
Untuk memasangkan notebook di Jupyter Lab, gunakan perintah Pair Notebook with percent Script
dari Command Palette:
Untuk memasangkan semua notebook di direktori tertentu, buat file konfigurasi dengan konten ini:
# jupytext.toml at the root of your notebook directory
formats = "ipynb,py:percent"
Jupytext juga tersedia di baris perintah. Anda bisa
jupytext --set-formats ipynb,py:percent notebook.ipynb
jupytext --sync notebook.py
(input diambil dari file pasangan terbaru)jupytext --to ipynb notebook.py
(gunakan -o
jika Anda menginginkan file keluaran tertentu)jupytext --pipe black notebook.ipynb
Ini adalah cara cepatnya:
.ipynb
Anda di Jupyter dan pasangkan ke notebook .py
, menggunakan perintah pair di Jupyter Lab, atau file konfigurasi global.py
.py
ini ke kontrol versi Anda dapat mengecualikan file .ipynb
dari kontrol versi (kecuali jika Anda ingin melihat versi keluarannya!). Jupytext akan membuat ulang file .ipynb
secara lokal saat pengguna membuka dan menyimpan buku catatan .py
.
Berkolaborasi pada notebook Jupyter melalui Git semudah berkolaborasi pada file teks.
Asumsikan Anda memiliki buku catatan .py
di bawah kontrol versi (lihat di atas). Kemudian,
.py
.ipynb
lokal dibuatnotebook.py
yang diperbarui. Perbedaannya tidak lain adalah perbedaan standar pada skrip Python.notebook.py
yang diperbarui, dan menyegarkan browser Anda. Sel masukan diperbarui berdasarkan konten baru notebook.py
. Outputnya dimuat ulang dari file .ipynb
lokal Anda. Terakhir, variabel kernel tidak tersentuh, jadi Anda memiliki opsi untuk menjalankan hanya sel yang dimodifikasi untuk mendapatkan keluaran baru. Setelah buku catatan Anda dipasangkan dengan file .py
, Anda dapat dengan mudah mengedit atau memfaktorkan ulang representasi .py
buku catatan tersebut dalam IDE.
Setelah Anda selesai mengedit buku catatan .py
, Anda hanya perlu memuat ulang buku catatan di Jupyter untuk mendapatkan hasil edit terbaru di sana.
Catatan: Lebih mudah untuk menutup notebook .ipynb
di Jupyter saat Anda mengedit file .py
yang dipasangkan. Tidak ada kewajiban untuk melakukannya; namun, jika tidak, Anda harus bersiap untuk membaca pesan pop-up dengan cermat. Jika Jupyter mencoba menyimpan notebook sementara file .py
yang dipasangkan juga telah diedit di disk sejak pemuatan ulang terakhir, konflik akan terdeteksi dan Anda akan diminta untuk memutuskan versi notebook mana (di memori atau di disk) yang merupakan yang sesuai.
Baca selengkapnya tentang Jupytext di dokumentasi.
Jika Anda baru mengenal Jupytext, Anda mungkin ingin memulai dengan FAQ atau Tutorial.
Ada juga pengenalan singkat tentang Jupytext: .