Mengenal Python Virtual Environment

Nanra Sukedy
4 min readNov 28, 2018

--

Tampilan Virtual Environment

Hola teman-teman coders. Selamat berjumpa kembali di platform Medium ini hehehe…

Kali ini saya ingin sedikit berbagi cerita tentang sebuah tools kece dari Python yang bernama Python Virtual Environment. Untuk teman-teman coders yang sudah sering menggunakan Django atau Flask kemungkinan sudah familiar dengan tools ini. Tapi tulisan ini memang saya khususkan untuk teman-teman coders yang masih belum kenal atau familiar dengan tools ini.

Apa sih Virtual Environment itu ?

Jadi begini, misal teman-teman coders mempunyai banyak proyek. Dan masing-masing proyek mempunyai spesifikasi kebutuhan yang berbeda-beda dan harus menggunakan versi yang spesifik. Ilustrasinya begini:

Misal proyek A mempunyai spesifikasi requirement seperti berikut:

  1. Python 2.5
  2. Django 1.9
  3. MySQL 5.0

Dan Proyek B mempunyai spesifikasi requirement seperti berikut:

  1. Python 2.7
  2. Django 2.0.2
  3. MySQL 5.5

Sedangkan versi Python yang terinstal secara global di environment Laptop/Komputer kita adalah Python 2.6. Maka untuk mengatasi hal tersebut kita butuh sebuah wadah khusus. Sebuah wadah yang akan menampung teknologi-teknologi yang digunakan untuk membuat proyek tadi. Saya menganalogikan virtual environment ini seperti sebuah wadah saja agar teman-teman lebih mudah membayangkannya hehe…

Di dalam wadah (virtual environment) tadi kita bisa menginstall masing-masing teknologi yang dibutuhkan tanpa tercampur dengan global environment yang kita miliki.

Misal proyek A kita buat sebuah virtual environment bernama virtualA dan proyek B kita buat virtual environment bernama virtualB. Maka semua kebutuhan proyek A kita bisa install pada virtualA begitu juga dengan kebutuhuan proyek B diinstall pada virtualB. Sampai disini sepertinya teman-teman sudah mulai paham hehe…

Terus bagaimana cara menggunakan venv ini ?

Untuk menggunakan virtual environment atau biasa disingkat dengan venv atau Pipenv ini sebelumnya harus diinstall pada global environment kita (Laptop/Komputer). Caranya seperti berikut:

  1. Pastikan Laptop/Komputer sudah terpasang pip. Jika belum bisa ikuti cara menginstall pip pada link ini.
  2. Kemudian buka terminal (linux/Mac) atau command prompt (windows) dan ketikkan perintah dibawah ini.
# Python 2:$ pip install virtualenv# Python 3:$ pip3 install virtualenv*(Python3 biasanya sudah tersedia saat pertama menginstall)

3. Setelah selesai menginstal venv , buatlah direktori baru dan masuk ke direktori tersebut. Misal untuk contoh kasus diatas saya buat direktori seperti di bawah ini:


$ mkdir proyekanKU && cd proyekanKu

4. Kemudian selanjutnya ketikkan perintah berikut untuk membuat masing-masing virtual environment:

# Python 2:
$ virtualenv virtualA

# Python 3:
$ python3 -m venv virtualB

5. Jika sudah berhasil maka akan ada dua folder seperti gambar dibawah ini:

Gambar Berhasil Membuat Virtual Environment

Jika kita masuk ke salah satu direktori virtualA atau virtualB maka isi masing-masing direkotori akan terdapat folder berikut:

Isi Direktori virtualA

6. Setelah berhasil membuat virtual environment, maka langkah selanjutnya adalah mengaktifkan virtual environment tadi. Caranya dengan mengetikkan perintah berikut:

# Untuk VirtualA:
$ source virtualA/bin/activate
# Untuk VirtualB:
$ source virtualB/bin/activate

7. Jika berhasil diaktifkan, maka akan muncul tampilan seperti berikut:

Virtual environment A sudah Aktif
Virtual environment B sudah Aktif

Setelah aktif , maka kita bisa langsung menginstall teknologi yang dibutuhkan tadi pada masing-masing venv.

Untuk menonaktifkan virtual environment, tinggal mengetikkan perintah deactivate pada masing-masing venv dan kita akan otomatis kembali pada global environment semula.

VirtualA di non-aktifkan
Virtual B di non-aktifkan

Sepertinya bahasan kali ini sampai disini dulu. Untuk cara menginstall tools dan library yang digunakan sama saja seperti saat menggunakan global environment, nantilah akan kita bahas lagi. Karena waktu sudah menunjukkan pukul 02.23 WIB dan besok saya harus masuk kantor lagi hehehe…

Terimakasih sudah membaca dan semoga bermanfaat….

Horas Ma dihita sasudena :-) …

Source : RealPython

--

--

Nanra Sukedy
Nanra Sukedy

Written by Nanra Sukedy

Software Engineer & Permissioned Blockchain Engineer from Bandung, Indonesia

No responses yet