Cara Menggunakan Git Dengan Notebook Jupyter di DataSpell

Coding Data Science How-To’s Python Tutorials

Jika Anda seperti saya dan banyak ilmuwan data lainnya, Anda lebih merupakan pengguna biasa Git dan sebagian besar menggunakannya untuk melacak perubahan pada buku catatan Anda dan membaginya dengan orang lain. Karena saya cenderung mengerjakan proyek yang sama selama berbulan-bulan, saya selalu melupakan dasar-dasar Git seperti cara mengonversi direktori lokal ke repositori Git atau menyinkronkan dengan repositori jarak jauh. Selain itu, format notebook Jupyter tidak semudah kode sumber biasa, yang berarti bahwa alat yang menampilkan perbedaan antara komitmen notebook menunjukkan JSON yang mendasarinya daripada menampilkan notebook itu sendiri. Hal ini membuat sulit untuk melihat perubahan aktual yang dibuat pada kode, penurunan harga, dan keluaran.

Untungnya, DataSpell memiliki beragam fungsionalitas untuk bekerja dengan Git, yang berarti mudah untuk melakukan tugas inti melalui UI seperti menyiapkan repo, menambahkan dan mendorong buku catatan, dan melihat perbedaan antara komitmen buku catatan – tanpa harus mengingat perintah Git tunggal!

Ubah ruang kerja yang ada menjadi repositori Git dan sinkronkan dengan repositori jarak jauh

Di bagian pertama ini, kita akan menjelajahi cara mengonversi ruang kerja yang ada di DataSpell menjadi repositori Git, lalu menyinkronkannya dengan repositori jarak jauh di Github.

Untuk memulai, kami membuat ruang kerja baru dengan memilih Berkas | Lampirkan Direktori…dan kemudian dengan membuat folder baru bernama ruang kerja versi saya. Untuk mengubah ruang kerja ini menjadi repositori Git, pertama-tama kita perlu mengklik kanan pada ruang kerja ini dan memilih Aktifkan Integrasi VCS.

Menu tarik-turun dengan "Aktifkan Integrasi VCS" terpilih.

Setelah ini, kita akan disajikan dengan jendela popup di mana kita akan diminta untuk memilih sistem kontrol versi mana yang ingin kita gunakan. Dalam kasus kami, ini Git, jadi kami memilih opsi ini dari menu tarik-turun dan klik Oke.

Munculan menanyakan kepada pengguna sistem kontrol versi mana yang ingin mereka gunakan.

Sekarang kita dapat mulai menambahkan file ke repositori Git yang baru kita buat. Mari kita membuat buku catatan bernama iris-analysis.ipynb. Sejauh ini, di buku catatan ini kita membaca di iris Himpunan data dari scikit-learn dan menampilkan fitur dalam pandas DataFrame.

Cuplikan layar ruang kerja DataSpell yang berisi notebook Jupyter yang belum ditambahkan ke repo Git lokal.

Anda dapat melihat itu iris-analysis.ipynb ditampilkan dengan warna merah di ruang kerja kami, yang menunjukkan bahwa file ini belum dilacak oleh Git. Mari kita lakukan perubahan yang telah kita buat pada notebook kita sejauh ini. Pergi ke Git | Melakukan… dan DataSpell’s Melakukan tab akan ditampilkan.

Memperluas File Tidak Berversi direktori, kita dapat melihat buku catatan kita ditampilkan dengan kotak centang di sebelahnya. Kami juga dapat melihat dua file lain yang dihasilkan DataSpell, module.xml dan my-versioned-workspace.iml. Ini berisi metadata tentang bagaimana DataSpell dikonfigurasi dan direktori ruang kerja terlampir kami. Adalah opsional apakah Anda menambahkannya ke VCS, tetapi karena kami hanya tertarik untuk membuat versi kode di buku catatan kami, kami tidak akan melacaknya di repositori kami.

Tab komit di DataSpell yang berisi tiga file yang tidak terlacak.

Pilih kotak centang di sebelah iris-analysis.ipynb dan kemudian tulis pesan komit di jendela di bawah ini.

Tab komit di DataSpell dengan notebook Jupyter dipilih untuk dilacak oleh Git dan pesan komit di kotak di bawah ini.

Kami memiliki dua opsi pada tahap ini. Jika kita hanya ingin melakukan perubahan secara lokal, kita dapat memilih Melakukan. Namun, karena kami ingin menyinkronkan perubahan ini dengan repositori jarak jauh, kami akan memilih Berkomitmen dan Dorong…. Di jendela sembulan berikutnya, pilih Definisikan jarak jauhdi mana kita akan diminta untuk memasukkan URL repositori jarak jauh kita.

Popup untuk menyinkronkan repositori jarak jauh dengan repositori lokal.

Dari mana kita mendapatkan URL ini? Dalam kasus kami, kami akan menggunakan GitHub, jadi kami hanya menavigasi ke akun GitHub kami dan membuat repositori baru (petunjuk tentang cara melakukannya ada di sini). Setelah repo dibuat, kita akan memiliki opsi untuk menyalin URL repositori seperti yang ditunjukkan di bawah ini (pastikan Anda memilih opsi HTTPS).

Cuplikan layar jalur ke repositori jarak jauh di Github.

Kami kemudian dapat menempelkan URL ini ke dalam kotak dan kemudian pilih Okelalu Dorongan.

Munculan yang menunjukkan repositori jarak jauh yang sedang disinkronkan dengan repositori lokal.

Anda sekarang mungkin diminta untuk masuk ke GitHub sebelum Anda dapat melakukan push. Opsi termudah adalah memilih Masuk melalui GitHub…, di mana Anda akan diarahkan ke jendela browser dan diminta untuk Otorisasi di GitHub. Setelah ini, DataSpell akan dapat mendorong perubahan yang dibuat ke repositori lokal Anda ke remote yang baru saja Anda buat. Namun, jika Anda mau, Anda juga dapat melakukan otorisasi ini menggunakan token otorisasi, dengan memilih Gunakan Token….

Perintah untuk masuk ke GitHub dalam DataSpell.

Menavigasi ke Git tab dalam DataSpell, kita dapat melihat bahwa komit telah dibuat dan didorong ke utama cabang baik lokal maupun jarak jauh. Kami sekarang telah berhasil mengubah ruang kerja lokal kami menjadi repositori Git yang disinkronkan dengan repositori jarak jauh di GitHub.

Tab Git di DataSpell menunjukkan komit yang telah dibuat di repositori lokal dan jarak jauh.

Mengkloning repositori jarak jauh sebagai ruang kerja lokal

Bagaimana jika kita memiliki situasi sebaliknya? Katakanlah kita ingin bekerja dengan repositori jarak jauh yang ada. Untuk memulai, kita harus pergi ke VCS | Dapatkan dari Kontrol Versiatau jika Anda telah membuka repositori Git lokal sebagai ruang kerja, buka Git | Klon.

Menu tarik-turun dengan "Dapatkan dari Kontrol Versi..." terpilih.

Kami kemudian mendapatkan popup yang memungkinkan kami untuk mengkloning repositori jarak jauh kami, baik dengan menggunakan URL repositori atau melalui masuk ke GitHub. Jika Anda ingin menggunakan URL repositori, salin URL dari GitHub seperti yang kita lakukan di bagian sebelumnya dan tempel di kotak yang disediakan di bawah URL repositori tab. Sebaliknya, jika Anda ingin masuk ke GitHub untuk dapat mengakses semua repositori jarak jauh Anda, pilih Masuk melalui GitHub di bawah GitHub tab untuk menyinkronkan akun Anda dengan DataSpell. Jika Anda belum masuk ke GitHub melalui DataSpell, Anda akan diarahkan ke jendela browser tempat Anda harus memilih opsi Otorisasi di GitHub. Setelah Anda menyelesaikan otorisasi, Anda dapat memilih repositori jarak jauh Anda dari daftar yang disediakan. Perhatikan juga bahwa, di bagian bawah popup ini di Direktori kotak, Anda memiliki opsi untuk mengubah lokasi tempat DataSpell mengkloning repositori ini. DataSpell akan mengkloning ke Proyek Mantra Data direktori secara default, tetapi Anda mungkin ingin menyimpan pekerjaan Anda di lokasi lain.

Popup yang berisi semua repositori GitHub yang tersedia untuk dikloning oleh DataSpell.
Anda akan diminta oleh popup lain untuk menunjukkan apakah Anda mempercayai proyek yang Anda kloning: Jika Anda mengetahui dan mempercayai sumbernya, pilih Proyek Kepercayaan; jika tidak pilih Pratinjau dalam Mode Aman (lihat di sini untuk detail lebih lanjut tentang opsi ini). Dan dengan itu, Anda telah berhasil mengkloning repositori jarak jauh ke dalam ruang kerja DataSpell!

Satu trik terakhir: Jika repositori jarak jauh berisi file persyaratan, kita dapat membuat ulang lingkungan repositori secara lokal. Pertama, buat lingkungan virtual baru dengan mengikuti petunjuk ini. Pastikan bahwa lingkungan virtual ini adalah juru bahasa Anda saat ini dengan memeriksa apakah itu ditampilkan di sudut kanan bawah DataSpell.

Selanjutnya, pergi ke Alat | Sinkronkan Persyaratan Python…dan di File persyaratan paket jendela, pilih file persyaratan repositori. Dalam Versi dalam persyaratan menu dropdown, pilih bagaimana Anda ingin menangani versi paket. Jika Anda tahu bahwa Anda menginginkan versi persis yang terkandung dalam file persyaratan, pilih Kesetaraan yang kuat. Namun, jika file persyaratan mungkin kedaluwarsa, Anda mungkin ingin memperbarui dependensi dengan memilih Lebih besar atau sama atau Versi yang kompatibel.

Munculan yang menampilkan opsi untuk mengimpor dependensi Python dari file persyaratan menggunakan DataSpell.

Setelah Anda mengimpor dependensi Anda dari file persyaratan, Anda akan melihat file persyaratan terbuka dan prompt untuk: Menginstal persyaratan atau Abaikan persyaratan. Pilih Menginstal persyaratandan dependensi repositori jarak jauh akan diinstal di lingkungan virtual lokal Anda.

Tangkapan layar yang menunjukkan perintah untuk mengimpor dependensi dari "persyaratan.txt".

Menarik, melakukan, dan melihat perubahan antara versi notebook

Katakanlah seorang kolaborator telah membuat beberapa perubahan pada kami iris analisis dengan merapikan DataFrame panda dan menambahkan pairplot seaborn. Jika kita ingin menarik perubahan itu, yang perlu kita lakukan hanyalah pergi ke Git | Menarik…, dan kita kemudian akan diminta untuk memilih cabang mana yang ingin kita tarik perubahannya. Karena kita hanya memiliki utama cabang, kami akan membiarkan ini tidak berubah.

Prompt untuk menarik perubahan dari remote ke cabang utama dari repositori lokal.

Anda dapat melihat perubahan antara DataSpell sebelum dan sesudah menarik. Kita dapat dengan jelas melihat perubahan pada notebook Jupyter, dengan pairplot sekarang ditampilkan sebagai bagian dari output. Kami juga dapat melihat komit tambahan telah ditambahkan ke Git tab. Akhirnya, kita dapat melihat bahwa iris-analysis.ipynb file notebook sekarang ditampilkan dengan warna biru, menunjukkan bahwa file tersebut telah dimodifikasi.

Cuplikan layar yang menunjukkan notebook Jupyter dan tab Git di DataSpell sebelum menarik perubahan dari repositori jarak jauh di GitHub.
Cuplikan layar menunjukkan notebook Jupyter dan tab Git di DataSpell setelah menarik perubahan dari repositori jarak jauh di GitHub.

Katakanlah kita ingin membuat perubahan sendiri dengan memasang pohon keputusan ke data. Jika kita ingin melakukan perubahan ini, kita hanya perlu pergi ke Git | Melakukan… dan kami akan kembali mendapatkan Melakukan tab ditampilkan. Kali ini, karena buku catatan kita sudah dilacak, kita bisa melihatnya di bawah Perubahan direktori.

Cuplikan layar menunjukkan notebook Jupyter dan tab komit di DataSpell setelah membuat perubahan lokal.

Sekali lagi, kita hanya perlu memilih Berkomitmen dan Dorong… untuk menambahkan, melakukan, dan mendorong perubahan kami ke repositori jarak jauh.

Terakhir, fitur Git yang sangat bagus di DataSpell adalah kemampuan untuk melihat perbedaan antara komit ke file Jupyter sebagai buku catatan yang dirender sepenuhnya. Untuk melakukan ini, buka Git tab dan pilih komit apa saja, lalu klik pada Tampilkan Perbedaan tombol seperti yang ditunjukkan di bawah ini.

Tangkapan layar menunjukkan "Tampilkan Perbedaan" tombol di tab Git di DataSpell.

Saya telah memilih komit terbaru, oleh karena itu Tampilkan Perbedaan menampilkan perubahan antara komit terbaru dan komit sebelumnya. Saat buku catatan dirender, Anda dapat melihat perbedaan antara komit dengan mudah. Jelas bahwa kami telah mengubah kode di sel pertama dengan menambahkan impor tambahan dan kami telah menambahkan sel penurunan harga. Selain itu, output penting seperti bagan dan DataFrames dirender, artinya Anda dapat membandingkan perbedaan antara tidak hanya input notebook tetapi juga hasil yang dihasilkan.

Cuplikan layar DataSpell membandingkan perubahan antara dua komit notebook Jupyter.

Saya harap posting ini telah memberi Anda beberapa tips dan trik yang berguna tentang bagaimana DataSpell dapat membuat penggunaan Git dengan notebook Jupyter lebih mudah dan lebih cepat – dan mungkin sekarang Anda tidak perlu lagi googling “cara menginisialisasi repositori git” untuk keseratus kalinya!

Pemrograman