Tutorial VirtualEnv Python | Mengenal Apa Itu Virtual Environment
Apakah yang disebut dengan Virtual Environment?
Tutorial Python Virtual Environment Untuk Pemula
Seperti namanya, Virtual Environment adalah sebuah ruang lingkup virtual yang terisolasi dari dependencies utama.
Virtual Environment sangat berguna ketika kita membutuhkan dependencies yang berbeda-beda antara project satu dengan lainnya yang berjalan pada satu system operasi yang sama.
Virtual Environment biasa digunakan untuk project berbasis Python. Karena Prject tersebut mempunyai kebutuhan / dependent yang berbeda-beda antara satu dengan lainnya, maka dibutuhkanlah sebuah virtual environment untuk menjalankannya, tanpa merubah configurations pada system operasi yang kita pakai.
Table of content
- Apa itu virtual environment?
- Bagaimana cara membuat virtual environment?
- Aktivasi virtual environment
- Upgrade Virtual Environment
- Install package dengan
pip
Berikut ini penjelasan singkatnya :
+-------------------+---------------+--------------------+
| | | |
| | | |
| | | |
| Project 1 | Project 2 | Project 3 |
| Django Framework | Flask | ReactJS & Python |
| | | |
| | | |
| | | |
+--------+----------+-------+-------+---------+----------+
| | |
| | |
| | |
| | |
v v v
+--------+--------+---------+--------+--------+----------+
| Python 3.7 | Python 2.7 | NPM & Python3.8 |
| | | |
+-----------------+------------------+-------------------+
- Pada table pertama kita mempunyai sebuah project menggunakan Django Framework yang berjalan di atas bahasa pemrograman Python versi 3.7.
- Sedangkan pada table kedua kita mempunyai project menggunakan Flask Framework yang berjalan di atas bahasa pemrograman Python versi 2.7.
- Dan table terakhir kita mempunya sebuah project ReactJS dan Python yang berjalan pada Python versi 3.8.
Lalu apa yang akan terjadi jika kita tidak menggunakan virtual environment pada ketiga project di atas?
Tentunya hal tersebut suatu saat akan menyebabkan crash jika kita salah melakukan instalasi package yang dibutuhkan.
Bagaimana cara membuat Virtual Environment?
Ada beberapa cara untuk membuat virtual environment.
- Langkah pertama pastikan kita telah memiliki Python versi terakhir 3.7+.
Untuk mengetahui versi python berapakah yang telah terinstall, kita bisa menggunakan command berikut ini :
$ Python --version
Python 3.6.5 :: Anaconda, Inc. #output yang dihasilkan adalah versi python yang sedang kita gunakan
# atau
$ Python3 --version
Python 3.8.7 :: Anaconda, Inc. #output yang dihasilkan adalah versi python yang sedang kita gunakan
Untuk menginstall latest version, kita bisa melakukan download terlebih dahulu di situs resmi python.org
$ python3 -m venv env
atau juga bisa menggunakan :
# kita bisa menggunakan `python` tanpa version python jika default yang kita punya adalah versi 3!
$ python -m venv env
Tunggulah beberapa saat hingga proses selesai, dan kita akan melihat folder env
dalam directory tersebut. Yang mana env
adalah folder Virtual Environment yang baru saja kita buat.
Jika kita masuk ke dalam folder tersebut, kita akan menemukan banyak library / python package yang tentunya telah support pada versi python yang digunakan:
env/
|--bin
|--include
|--lib
|--lib64
|--pip-selfcheck.json
`--pyvenv.cfg
Mengaktifkan Virtual Environment
Setelah kita berhasil membuat Virtual Environment, selanjutkan kita harus mengaktifkannya terlebih dahulu dengan cara:
& source env/bin/activate
Maka di akan muncul seperti dibawah ini :
(env) [email protected]:~$
^
|
+
Kita telah berhasil mengaktifkan Virtual Environment yang baru saja kita buat dan sedang berada di dalamnya.
Apabila sejauh ini berhasil, next step kita akan coba install dependencies menggunakan pip
atau pip3
.
💡
Pro Tip
Jika kita pengguna linux, maka default untuk menjalankan latest version python adalah dengan mengetik commandpython3
pada terminal.
buatlah file
.aliases
pada home directory dan letakkan script ini di dalamnya:
alias python=python3
alias pip=pip3
Sebelum kita install beberapa dependencies menggunakan pip
, akan lebih bagus apabila kita upgrade pip
version terlebih dahulu dengan cara:
(env) [email protected]:~$ pip list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
pip (9.0.3)
setuptools (39.0.1)
You are using pip version 9.0.3, however version 19.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Secara default, begitu kita membuat Virtual Environment
baru, maka kedua package
tersebut telah terinstall otomatis di dalamnya.
Upgrade pip
Untuk melakukan upgrade dependencies pada virtual environment, kita dapat menggunakan perintah:
(env) [email protected]:~$ pip install --upgrade pip
Maka akan muncul hasil seperti di bawah ini :
Cache entry deserialization failed, entry ignored
Collecting pip
Using cached https://files.pythonhosted.org/packages/d8/f3/413bab4ff08e1fc4828dfc59996d721917df8e8583ea85385d51125dceff/pip-19.0.3-py2.py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 9.0.3
Uninstalling pip-9.0.3:
Successfully uninstalled pip-9.0.3
Successfully installed pip-19.0.3
Install package menggunakan pip
Selanjutnya kita akan mencoba untuk menginstall Django Framework menggunakan pip
.
Ketikkan perintah berikut ini di Terminal :
(env) [email protected]:~$ pip install django
Collecting django
Downloading https://files.pythonhosted.org/packages/c7/87/fbd666c4f87591ae25b7bb374298e8629816e87193c4099d3608ef11fab9/Django-2.1.7-py3-none-any.whl (7.3MB)
100% |████████████████████████████████| 7.3MB 1.3MB/s
Collecting pytz (from django)
Using cached https://files.pythonhosted.org/packages/61/28/1d3920e4d1d50b19bc5d24398a7cd85cc7b9a75a490570d5a30c57622d34/pytz-2018.9-py2.py3-none-any.whl
Installing collected packages: pytz, django
Successfully installed django-2.1.7 pytz-2018.9
Dari perintah di atas kita telah berhasil melakukan installasi Django dengan sukses.
Langkah selanjutnya, apabila kita ingin melihat dependencies
/ package
apa saja yang telah terinstall menggunakan pip
, ketikkan perintah berikut ini di terminal :
(env) [email protected]:~$ pip list
Package Version
---------- -------
Django 2.1.7
pip 19.0.3
pytz 2018.9
setuptools 39.0.1
Well done!.
Kita telah berhasil membuat Virtual Environment
pada system operasi kita, sehingga kita tidak perlu khawatir dengan bermacam-macam project yang akan kita kerjakan, meskipun project tersebut menggunakan dependencies yang berbeda-beda.
Untuk menonaktifkan Virtual Environment tersebut bisa menggunakan perintah :
(env) [email protected]:~$ deactivate
Maka dengan otomatis kita akan keluar dari Virtual Environment
Conclusion | Kesimpulan
Virtual Environment sangat memudahkan kita untuk mengelola / me-manage banyak dependencies dari beberapa project yang berbeda-beda tanpa mengubah config pada system operasi tersebut.
Thank’s for reading.
Segala macam kritik dan saran tentang tulisan ini bisa ditinggalkan di kolom komentar di bawah ini.
Tags: #python, #linux, #os
Subscribe to noTnoob Dev
Get the latest posts delivered right to your inbox