Membuat dan Mengelola Virtual Environment di Python

Konten Halaman

Kenapa Saya Belajar Ini

Beberapa kali saya pindah perangkat atau meng-clone project python lama, dan sering dibuat repot oleh library yang tidak cocok versinya. Kadang jalan, kadang error tanpa alasan yang jelas.

Dari situ saya belajar bahwa ada cara yang lebih rapi untuk memisahkan dependensi antar project python. Akhirnya belajar tentang virtual environment (venv), biar setiap project punya “dunianya sendiri”.


Apa yang Saya Pelajari

Setelah membuat folder project, langkah selanjutnya cukup masuk ke direktori tersebut, baik lewat VS Code atau lewat Command Prompt. Dari sana, proses membuat virtual environment cukup menjalankan perintah:

python -m venv venv

Nama venv di belakang itu bisa diganti sesuai keinginan, tapi saya pribadi tetap pakai venv biar mudah diingat. Setelah perintah itu dijalankan, otomatis muncul folder baru dengan nama yang sama.

Untuk mengaktifkannya:

venv\Scripts\activate

Kalau di VS Code tiba-tiba tidak mau aktif, kemungkinan terminal-nya memakai PowerShell. Solusinya ganti ke Command Prompt. Setelah aktif, prompt akan berubah, misalnya:

(venv) C:\project>

Setelah itu tinggal install library menggunakan pip seperti biasa.

Agar project bisa dibagikan atau dijalankan di perangkat lain tanpa membawa folder venv yang ukurannya besar, kita bisa membuat daftar dependensi:

pip freeze > requirements.txt

Di perangkat lain, cukup jalankan:

pip install -r requirements.txt

Dengan begitu, semua library yang dibutuhkan akan ter-install sesuai versi yang digunakan di project asli.

Untuk keluar dari venv di terminal-nya ketik saja perintah berikut:

deactivate

Insight

Virtual environment membuat setiap project python berjalan di lingkungan yang terisolasi. Dependensi tidak saling mengganggu, dan versi library bisa dikontrol dengan rapi.

Selain itu, membagikan project jadi lebih ringan karena kita hanya perlu mengirimkan struktur folder dan file requirements.txt, bukan seluruh folder venv yang biasanya cukup besar.

Hal kecil seperti ini ternyata sangat membantu menjaga project tetap bersih dan mudah di-maintain, terutama ketika jumlah project Python makin banyak.