Feb 16, 2023
Micromamba, Conda dalam C++
micromamba
is a small, pure-C++ executable with enough functionalities to bootstrap fully functional conda-environments.Still at early stage, it’s main usage is in continous integration pipelines: since it’s a single executable, it reduces dramatically bandwidth usage and provide fast operations.
https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html
Beberapa bulan belakangan tempat saya bekerja makin intens menggunakan python sebagai basis platform. Sebagai pendukung operasional tentunya saya menyiapkan environment pengembangan berbasis python yang lengkap sesuai dengan kebutuhan analis yang akan menggunakannya. Pilihan jatuh kepada conda.
Kenapa conda?
Pemilihan menggunakan conda adalah karena independensi perangkat yang tidak bergantung kepada sistem operasi dan menghindari permasalahan dependensi perangkat yang menjadi momok deployment. Perangkat analisis menggunakan sistem operasi SUSE 12.2 dimana saya tidak dapat mendapatkan environment serupa saat ini membangun sendiri perangkat python yang portable.
Conda membangun basis lingkungan pengembangan dengan lengkap dan berupa binary sehingga mengurangi waktu terutama untuk penyiapan. Tidak seperti pyenv yang masih memerlukan kompilasi sehingga ada ketergantungan dengan perangkat yang menyusun pengembangan.
Kendala dalam Penggunaan
Lingkungan pengembangan open-source sangat membuka kesempatan pengembang untuk menyiapkan lingkungan dari sudut pandang masing-masing dan cenderung generic. Sebagai pengguna tentunya kita akan memerlukan berbagai penyesuaian dan tidak mudah karena masih ada dependency-hells yang selalu jadi momok.
Setiap rilis baru conda atau anaconda akan memiliki keterikatan antar perangkat mengingat conda sendiri menggunakan python beserta basis paket yang sering mengikat saat harus upgrade. Solusinya hanya hapus dan pasang ulang atau dengan membuat environment baru.
Micromamba dengan C++
Dengan basis kendala yang ada saya mencoba mengadopsi micromamba yang lebih bebas dependency karena berupa binary dengan basis c++ sehingga tidak ada ketergantungan dengan python yang terpasang maupun paket yang ada. Selain itu perangkat berbasis c++ cenderung lebih cepat dalam eksekusi. Serta, mamba dan micromamba memberikan dukungan multithread sehingga dapat menjalankan/mengunduh beberapa tugas/paket sekaligus.
Instalasi Micromamba
Dari laman dokumentasi instalasi, terdapat beberapa mode instalasi yang bisa dilakukan. Berikut salah satu cara instalasi di lingkungan Linux.
$ wget https://micromamba.snakepit.net/api/micromamba/linux-64/0.15.3 -O micromamba-0.15.3-linux-64.sh
$ chmod +x micromamba-0.15.3-linux-64.sh
$ ./micromamba-0.15.3-linux-64.sh
Ikuti instruksi pada layar untuk menyelesaikan instalasi. Anda dapat memilih direktori instalasi dan membuat link ke micromamba misalkan di direktori /usr/local/bin.
Konfigurasi
Setelah instalasi selesai, Anda dapat mengonfigurasi micromamba dengan perintah berikut:
$ micromamba shell init -s bash -p ~/micromamba
Ini akan menambahkan baris kode ke file ~/.bashrc, yang akan memungkinkan Anda untuk menggunakan micromamba dari terminal. Sekarang, Anda dapat membuat lingkungan Python baru dengan perintah:
$ micromamba create -n myenv python=3.8
Ini akan membuat lingkungan baru bernama “myenv” dengan Python versi 3.8.
Menjalankan Micromamba
Aktifkan lingkungan Python yang telah dibuat dengan micromamba dengan perintah:
$ micromamba activate myenv
Sekarang, Anda dapat menginstal paket Python di lingkungan ini dengan perintah “pip install
“. Jika Anda ingin keluar dari lingkungan Python, gunakan perintah “micromamba deactivate
“.
Micromamba atau Conda?
Belum bisa menjelaskan efek yang signifikan antara perpindahan dan sumber daya yang dibutuhkan. Namun perpindahan ini saya rasa lebih enteng dan cepat. Mungkin dilain waktu akan kita bahas.
Komentar Terbaru