Apa itu virtual environtment pada python? Virtual Environtment adalah tools untuk mengenkapsulasi serta manajemen package atau library pada proyek kalian.
Bingung? iya sih sama, gampangnya gini, kita membuat ruang privasi kecil untuk proyek kita, agar nantinya library yang kita install hanya dapat digunakan untuk proyek tersebut.
Kenapa Pakai Virtual Environtment?
“Kan, python serta library bisa kita instal secara global kak? Supaya bisa digunakan untuk proyek mana saja”
Jika pakai virtual environtment, kita dapat mencegah adanya issue dependency yang terjadi saat ada update atau perbedaan versi.
Contoh, kita buat proyek aplikasi bakso pakai python
versi 3.8 dan juga library numpy
versi 3.4.
Ternyata kita diberi proyek lain (aplikasi mie ayam) dengan kebutuhan versi python yang lebih tinggi. Otomatis harus update python
ke 3.9 dan library numpy
juga butuh update kan.
Nah, setelah diupdate ternyata di aplikasi bakso terdapat beberapa fungsi yang error karena dependencies nya banyak yang berubah karena kita update tadi.
Maka dari itu kita butuh virtual environtment agar aplikasi bakso dapat berjalan dengan versi yang ia butuhkan.
Dengan virtual environtment, kita juga bisa menginstall kumpulan library yang kita butuhkan untuk proyek aplikasi, tanpa harus mengganggu proyek aplikasi yang lain. Seperti contoh dibawah ini.
library pada virtual environtment untuk proyek aplikasi makan bakso.
- python 3.8
- numpy versi 3.4
- opencv versi 3.3
- num2word versi 1.1.
library pada virtual environtment untuk proyek aplikasi makan mie ayam.
- python 3.9
- numpy versi 3.5
- keras versi 4.1
- tensorflow versi 4
Nah, gimana udah ada bayangan? itulah kenapa anbi sarankan buat virtual environtment dalam memulai sebuah proyek aplikasi.
Installasi Virtual Environtment
Penting : Jika kalian menggunakan python 3.3 atau yang lebih baru, modul virtual environtment (
venv
) sudah otomatis terinstall pada python standard library, sehingga kalian tidak perlu menginstall lagi.
Untuk yang belum punya library-nya, mari sekarang kita mulai installasi virtual environtment. Gampang kok installasinya, cuman buka command prompt atau terminal kalian lalu install pakai PIP.
Untuk kalian yang pakai Windows :
py -m pip install --user virtualenv
Untuk kalian yang pakai MacOS dan Linux :
python3 -m pip install --user virtualenv
Membuat Virtual Environtment
Cara membuat virtual environment sangatlah mudah, pertama pilih folder aplikasi yang ingin kita buat virtual environtment. Lalu, buka terminal atau cmd dan arahkan ke folder yang tersebut,
Lalu untuk commandnya
Untuk kalian yang pakai Windows :
py -m venv ini-env
Untuk kalian yang pakai MacOS dan Linux :
python3 -m venv ini-env
venv
adalah command untuk membuat virtual environtmentini-env
adalah nama virtual environtment
Nah, jika kita lihat folder dengan nama ini-env
akan dibuat secara otomatis. Folder ini-env
inilah yang nantinya akan menampung library - library yang kita install.
Menggunakan Virtual Environtment
Jika sudah sukses membuat virtual environtment sekarang saatnya untuk menggunakannya. Caranya mengaktifkan virtual environtment seperti ini :
Buka terminal atau cmd, lalu arahkan ke folder aplikasi kita.
Ketik perintah dibawah :
- Jika pakai Windows
.\ini-env\Scripts\activate
- Jika pakai Linux atau MacOS
source ini-env/bin/activate
Here you go! ini-env
adalah nama environtment yang kita buat tadi- Jika pakai Windows
Jika session kalian udah ada kayak gini :
Berarti tandanya kalian sudah berhasil mengaktifkan ruang virtual kalian. Untuk mengkonfirmasi kalian bisa melihat letak python yang digunakan saat ini :
coba cek pakai windows :
where python
coba cek pakai linux dan macOS :
which python
D:\ExperimentCode\python\virtual-project\ini-env\Scripts\python.exe
Nah, python yang kita gunakan pada cmd saat ini adalah python yang berada pada direktori virtual environtment.
Sehingga kalian dapat menginstall library dan package apa saja tanpa mengganggu daftar library pada python global.
Jika ingin keluar dari virtual environtment sangatlah mudah. Kalian bisa tutup terminal atau cmd kalian, atau menulis command script dibawah :
deactivate
Virtual vs Global Environtment
Mau kita bandingkan? ayo! Sekarang kita bandingkan aplikasi kita yang berada pada virtual env dan global env.
Disini anbi bakal buat sebuah proyek aplikasi baru yang menggunakan framework Django.
Nah, karena Anbi gamau proyek anbi nanti error gara - gara perbedaan versi library atau dependencies oleh proyek lain. Maka anbi putuskan buat virtual environtment saat menginstall Django.
Nah, sekarang kita coba lihat list package library yang terinstall pada virtual environtment ini menggunakan pip list:
Django berhasil terinstall di virtual environtment yang kita buat tadi. Dan kita juga bisa menggunakan beberapa command line dari Django seperti django-admin help
.
Sekarang mari kita keluar dari virtual environtment dan pindah ke global environtment. Dan coba kita ketik perintah yang sama django-admin help
.
D:\ExperimentCode\python\djangoku>django-admin help
'django-admin' is not recognized as an internal or external command,
operable program or batch file.
Lah, kenapa tidak dikenali didalam global environtment? Mari kita lihat list package library yang terinstall pada global environtment.
Ternyata tidak ada satu pun package library yang bernama django, yang berarti kita tidak bisa menggunakan command line dari django.
Dari contoh diatas dapat disimpulkan, menggunakan virtual environtment memungkinkan kita untuk mengisolasi suatu paket library hanya untuk aplikasi yang sedang kita buat.
Sehingga aplikasi kita tidak akan campur tangan ke aplikasi lain dan sebaliknya.
Ibarat virtual environtment adalah rumah dan aplikasi adalah pemilik rumah tersebut.
Kita tidak mau kan tetangga kita tiba - tiba mengubah furnitur rumah kita sesuai selera mereka.
Yaudah gitu aja, nanti lanjut lagi.