Blog.YHT.Web.ID

Icon

Bosan adalah awal dari penciptaan perubahan.

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

Dari laman dokumentasi instalasi, terdapat beberapa mode instalasi yang bisa dilakukan.

Kategori: /null

Tag:

Leave a Reply