Halo teman-teman programmer!

Kali ini kita akan membahas tentang Python Virtual Environment. Sebelum kita memulai pembahasannya, saya sampaikan alasan penggunaannya.

Seperti yang teman-teman ketahui, Python merupakan bahasa pemrograman yang serbaguna. Ketika kita mulai mengembangkan beberapa proyek yang berbeda, kamu akan menemui beberapa proyek membutuhkan dependensi yang berbeda-beda. Oleh karena itu, programmer Python biasanya menggunakan virtual environment.

Virtual environment adalah sebuah cara untuk membuat lingkungan pengembangan Python yang terisolasi. Dengan memanfaatkan virtual environment, kamu dapat meng-install library atau modul Python yang berbeda-beda sesuai kebutuhan proyekmu. Masing-masing proyek “seolah-olah” memiliki instalasi Python yang berbeda-beda.

Jadi, dengan virtual environment, kamu dapat mengelola dependensi proyek secara terpisah. Dengan begitu, kamu dapat menghindari konflik dependensi, proyeknya tetap bersih dan terorganisir.

Cara membuat virtual environment

virtualenv adalah program yang digunakan untuk membuat dan mengelola virtual environment pada Python. Kamu dapat menginstal menggunakan pip.

pip install virtualenv

Setelah proses instalasi selesai, kamu sudah siap untuk membuat virtual environment untuk proyek kamu.

Sekarang, mari kita membuat virtual environment untuk proyek kamu. Pertama, masuk ke direktori proyek kamu. Kemudian buat virtual environment menggunakan perintah berikut.

python -m venv <nama_environment>

Jika kamu menjalankan perintah python -m venv venv maka akan ada direktori baru bernama venv pada direktori proyekmu. Direktori tersebut menyimpan pengaturan virtual environment proyekmu.

Mengaktifkan virtual environment

Setelah membuat virtual environment, kamu harus mengaktifkannya sebelum menggunakan pada proyekmu. Gunakan perintah berikut untuk mengaktifkan virtual environment.

source <nama_environment>/bin/activate

Kita akan menggunakan contoh sebelumnya, maka perintahnya menjadi source venv/bin/activate. Perintah tersebut akan mengaktifkan virtual environment dan terminalmu akan menampilkan tanda bahwa kamu sudah masuk virtual environment.

$ source venv/bin/activate
(venv) $

Jadi, jika prompt terminalmu sudah menampilkan nama virtual environment, di contoh kita adalah venv, itu tandanya virtual environment sudah aktif dan kamu sudah dapat melakukan pengembangan proyekmu. Semua pustaka atau modul Python yang kamu install akan terisolasi di dalam virtual environment yang sudah kamu aktifkan.

Menonaktifkan virtual environment

Kamu dapat keluar dari virtual environment dengan menonaktifkannya. Kamu cukup menjalankan perintah deactivate maka kamu akan keluar dari virtual environment. Prompt komputermu akan kembali seperti semula. Berikut ini adalah ilustrasinya.

(venv) $ git commit -m "Fix bug #23"
[master 09f4bcd] Fix bug #23
1 file changed, 1 insertion(+)
(venv) $ deactivate
$

Menghapus virtual environment

Ketika kamu sudah selesai dengan proyekmu dan kamu sudah tidak lagi memerlukan virtual environment-nya, kamu dapat menghapusnya dengan cara menghapus direktori virtual environment.

Sebelum menghapus virtual environment, kamu dapat menyimpan daftar dependensi proyekmu. Hal tersebut memudahkan kita dalam membuat virtual environment yang sama ketika kamu berbagi pengembangan proyek dengan orang lain. Selain itu, file tersebut dapat kita gunakan ketika kita membuat virtual environment baru atau di komputer lain. Kamu cukup menjalankan perintah berikut.

pip freeze > requirements.txt

Pada virtual environment yang lainnya, kamu tinggal menjalankan perintah berikut untuk memasang semua dependensi yang sudah kamu tentukan.

pip install -r requirements.txt

Kesimpulan

Virtual environment memungkinkan kita untuk mengisolasi lingkungan pengembangan per proyek. Dengan begitu, kita dapat mengelola dependensi tiap proyek secara lebih leluasa dan menghindari konflik antar library atau modul yang ter-install.


Terima kasih sudah membaca. Selamat belajar Python. Kamu bisa bertanya tentang artikel di blog ini melalui Mastodon, bisa tag akun saya @akusunu di FLOSS Social.