Virtual Env Pada Python

Khairu Aqsara Sudirman

Khairu Aqsara Sudirman

Oct 03, 2019 — 3 mins read
Python Virtual Environment

Python Virtual Environment

I'll tell you a story, bukan hal baru sebenarnya, cuman belakangan ini saya sedang giat-giatnya bekerja dengan python, karena memang ada pekerjaan yang mengharuskan menggunakan python, jadi ceritanya terkenang masa lalu, kebetulan pada pekerjaan ini saya membuatkan core dari aplikasinya, yang nanti tim akan melanjutkan, saya biasa menggunakan virtual environment jika bekerja dengan python, seperti biasa, source akan saya share ke repository dan tim akan dengan segera melakukan tugas masing-masing, tanpa pikir panjang saya pun mengambil sebatang rokok dan dengan santai meng-hembas-hembuskan asap kenikmatan.

Tetapi tidak berselang lama, mereka pada teriak-teriak kok ga bisa di install dependence nya, atau ada yang komplain kan saya sudah install numpy tapi kok ga bisa dipake, padahal projek yang kemaren sama-sama pake numpy jalan,dan masih banyak lagi. dengan heran saya bertanya, pada ga pake virtualenv ? dengan heran mereka pun kembali bertanya, api itu mas virtualenv? btw ceritanya kita itu python developer pemula, bisa python karena terpaksa :)

jika dingat-ingat pada waktu kita membaca sebuah tutorial ataupun menonton video yang berbau dengan python, rata-rata akan menyarankan menggunakan virtual environment dalam tahap development, jadi pertanyaan-nya tetap saja 3W What, Why, How. Apa, Kenapa dan Bagaiamana menggunakan virtual environment atau ada yang bilang virtualenv pada python.

Apa Itu ?

Virtualenv adalah tools atau alat ataupun software atapun modul yang memungkinkan kita melakukan development dengan python pada lingkungan yang terisolasi dari dunia luar, jadi package/library/modul yang kita install hanya bisa digunakan oleh environment yang aktif, dan tidak bisa diakses dari luar.

Kenapa ?

Secara umum, ketika kita menginstall package, python akan menyimpanya pada folder /usr/lib/python.x/site-packages/, semua package yang ada dalam folder tersebut bisa digunakan oleh semua aplikasi, loh bukanya itu bagus ? ya..... bagus-bagus aja, tidak ada yang salah dengan hal itu, misalnya gini, hari ini kita sedang mengerjakan sebuah aplikasi menggunakan flask versi 1.0, aplikasi pun selesai dan berjalan lancar, kemudian kita mengerjakan aplikasi yang membutuhkan flask 2.0 secara naluri kita upgrade dong flask-nya biar jadi versi 2.0, sementara pekerjaan kita sebelumnya menggunakan flask versi 1.0, saya rasa temen-temen pahamkan yang akan terjadi ?

dengan menggunakan virtualenv, masalah tersebut tidak akan terjadi, masing-masing aplikasi akan memiliki modulnya sendiri-sendiri.

Bagaimana ?

virtualenv tidak secara default tersintall, kita harus menginstallnya terlebih dahulu kita bisa menginstallnya dengan cara yang sangat simple.

# Python 2
sudo apt install python-virtualenv
# Python 3
sudo apt install python3-virtualenv

cukup mudah bukan ? setelah virtualenv tersintall, kita bisa menggunakan-nya, misalnya kita akan membuat sebuah aplikasi sebut saja app1.

mkdir app1 && cd app1

kita akan mencoba menggunakan virtualenv pada aplikasi ini, untuk itu kita harus meberitahukan kepada global env (system) bahwa kita akan menggunakan virtualenv dengan cara

# Python 2
virtualenv env-app1
# Python 3
python3 -m venv env-app1

setelah perintah tersebut dijalankan, seharusnya pada folder aplikasi akan terbentuk sebuah folder baru dengan nama env-app1, dimana dalam folder inilah semua modul,package yang akan kita gunakan dikhusus-kan hanya untuk aplikasi ini saja. kemudian selanjutnya kita jalankan perintah berikut untuk mengaktifkan viartualenv

source env-app1/bin/activate

dengan begitu, aktif sudah virtualenv pada aplikasi app1,ditandai dengan berubahnya tulisan sebelah kiri pada terminal, seperti gambar berikut.

Mengaktifkan Virtualenv pada Python

Mengaktifkan Virtualenv pada Python

perhatiakn tulisan (env-app1) pada gambar diatas, itu mengindikasikan bahwa kita sudah siap untuk menginstall/update/delete package apapun tanpa harus khawatir tentang masalah sebelumnya, jika sudah selesai bekerja dan ingin menonaktifkan virtualenv cukup dengan perintah

source env-app1/bin/deactivate

Sekian dan Terimakasih, Salam Kode.


python
Read More

Membuat VPN Server Sendiri

VPN hanyalah sebuah jembatan atau jalur lewat data khusus yang ada pada jaringan internet, maksudnya khusus adalah pada saat data di transmisikan(diantar) dalam bentuk tersandikan (enkripsi) untuk menjaga kerahasiannya dari jaringan publik.

Read More

Mendeteksi Virus Corona Melalui Hasil Scan X-Ray Menggunakan Tensorflow dan Keras

Seperti kebanyakan orang, saya sendiri merasa deg-deg-an dengan wabah virus corona ini, pilek dikit takut corona, padahal biasanya juga sering pilek santai aja, tetapi sekarang pilek itu rasanya beda gitu.... Jujur saya, sebagai manusia hal yang paling menakutkan untuk saat ini adalah kurang nya informasi yang benar tentang virus corona, banyak informasi yang simpang siur dan tidak jelas sumbernya.