Python virtual environment memungkinkan kita untuk membuat system python yang berbeda dengan python yang sudah ada di sistem, virtual python ini mempunyai versi yang berbeda dengan python di sistem, begitu juga dengan modul-modulnya.
Contohnya adalah di Ubuntu 20.04 LTS, secara default versi python nya adalah 3.8, dikarenakan suatu hal Anda ingin memasang python 2.7 berserta package dan modul yang ada, sedangkan modul Anda tersebut tidak kompatibel dengan python 3.x, bagaimanakah cara mengatasi hal ini?
Solusinya adalah membuat lingkungan/environment python yang berdiri sendiri dan tidak mengganggu python 3.x yang sudah ada di system menggunakan Python Virtual Environment.
Berikut adalah step by step cara pemasangannya di Ubuntu.
Update system dan pasang Python package management
Langkah pertama adalah mengupdate system dan melakukan pemasangan python package management (pip) dengan perintah sebagai berikut
$ sudo apt update $ sudo apt dist-upgrade -y $ sudo apt install python3-pip python3-dev -y
Silahkan tunggu sampai proses selesai
Pasang virtualenvwrapper dan lakukan konfigurasi pertama
Langkah selanjutnya adalah memasang virtual envwrapper yang berupa tool untuk membantu mengatur python virtual environment
$ sudo -H pip3 install virtualenvwrapper
Kemudian tambahkan lima baris berikut ke ~/.bashrc
export WORKON_HOME=$HOME/.virtualenvs export PROJECT_HOME=$HOME/Python export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv source /usr/local/bin/virtualenvwrapper.sh
Kemudian eksekusi perintah berikut
$ source .bashrc virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/premkproject virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/postmkproject virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/initialize virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/premkvirtualenv virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/postmkvirtualenv virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/prermvirtualenv virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/postrmvirtualenv virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/predeactivate virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/postdeactivate virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/preactivate virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/postactivate virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/get_env_details
Membuat virtual environment dan install paket
Langkah selanjutnya adalah kita akan membuat virtual environment pertama kita dan akan memasang django. Untuk membuat virtual env, cukup ketikkan “mkvirtualenv NAMA“, contohnya dapat dilihat di perintah dibawah ini :
[email protected]:~$ mkvirtualenv django-env created virtual environment CPython3.8.5.final.0-64 in 3744ms creator CPython3Posix(dest=/home/wownet/.virtualenvs/django-env, clear=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/wownet/.local/share/virtualenv) added seed packages: pip==20.2.4, setuptools==50.3.2, wheel==0.35.1 activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/django-env/bin/predeactivate virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/django-env/bin/postdeactivate virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/django-env/bin/preactivate virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/django-env/bin/postactivate virtualenvwrapper.user_scripts creating /home/wownet/.virtualenvs/django-env/bin/get_env_details (django-env) [email protected]:~$
Dari perintah di atas, nama environment-nya adalah django-env dan ketika sudah selesai pemasangannya Anda akan masuk ke environment “django-env” yang ditandai dengan tanda “(django-env)” sebelum prompt terminal
Memasang Django
Kita akan mencoba memasang django di environment baru kita, untuk memasang paket django, kita dapat menggunakan pip. Bedanya dengan perintah pip di pemasangan virtualenvwrapper, ketika memasang virtualenvwrapper, Anda memasang virtualenvwrapper tersebut ke sistem sehingga membutuhkan akses sudo, namun ketika Anda memasang di virtual-environment Anda tidak perlu sudo
Berikut contohnya
(django-env) [email protected]:~$ pip3 install django Collecting django Downloading Django-3.1.3-py3-none-any.whl (7.8 MB) |████████████████████████████████| 7.8 MB 3.4 MB/s Collecting pytz Downloading pytz-2020.4-py2.py3-none-any.whl (509 kB) |████████████████████████████████| 509 kB 2.9 MB/s Collecting sqlparse>=0.2.2 Downloading sqlparse-0.4.1-py3-none-any.whl (42 kB) |████████████████████████████████| 42 kB 362 kB/s Collecting asgiref<4,>=3.2.10 Downloading asgiref-3.3.0-py3-none-any.whl (19 kB) Installing collected packages: pytz, sqlparse, asgiref, django Successfully installed asgiref-3.3.0 django-3.1.3 pytz-2020.4 sqlparse-0.4.1 (django-env) [email protected]:~$
Mengatur environment
Dalam menggunakan environment, Anda perlu masuk, keluar, membuat dan membuang environment baru.
Untuk keluar dari environment, ketik “deactivate“
(django-env) [email protected]:~$ deactivate [email protected]:~$
Untuk masuk kembali ke environment, ketik “workon nama-environment”, contohnya :
[email protected]:~$ workon django-env (django-env) [email protected]:~$
Perintah lain yang berguna adalah
- lsvirtualenv, melihat semua environment yang tersedia
- cdvirtualenv, pindah ke direktori yang digunakan virtual environment.
- cdsitepackages, seperti cdvirtualenv, namun langsung ke directori site-packages yang berisi paket-paket python
- lssitepacjages, digunakan untuk melihat isi dari direktori site-packages
Selamat mencoba!