author Ahmad Muhardian

Mengenal Virtualenv: Apa Saja yang Harus Kamu Ketahui?


Belajar Menggunakan Virtualenv

Waktu awal-awal belajar django, saya sedikit ‘dipusingkan’ dengan Virtual Environment (virtualenv).

Banyak tutorial menyarankan menggunakan virtualenv. Bahkan tidak hanya untuk django saja.

Sepertinya virtualenv adalah tools yang harus digunakan pada pengembangan aplikasi Python.

Apa itu vritualenv?

Kenapa kita harus menggunakan virtualenv?

Bagaimana cara menggunakan vritualenv?

Mari kita bahas…

Apa itu Virtualenv?

Vritualenv adalah tools untuk membuat lingkungan python virtual yang terisolasi.

Terisolasi artinya tertutup dan tidak bisa diakses dari dunia luar.

Vritual Environment Python

Program Python yang berjalan di dalam virtualenv memiliki modul-modulnya sendiri dan program dari luar tidak bisa mengaksesnya.

Sedangkan program Python yang berjalan tanpa vritualenv hanya bisa menggunakan modul-modul global saja, yang berada di /usr/lib/python2.7/site-packages.

Kenapa Menggunakan Vritualenv?

Saat kita menginstal modul/library menggunakan pip, modulnya akan terinstal secara global di /usr/lib/python2.7/site-packages.

Semua aplikasi bisa mengakses dan menggunakannya.

Apakah ini bagus?

ya bagus, tapi masalahnya begini:

Misal, pada hari ini kita membuat proyek aplikasi menggunakan django 1.1.

Aplikasi berjalan dengan sempurna menggunakan modul versi 1.1.

Lalu beberapa waktu kemudian, django rilis versi baru… aggaplah versi 4.0.

Kita kemudian melakukan upgrade modul.

Akan tetapi, aplikasi yang sudah kita buat tidak bisa berjalan dengan modul versi baru ini, karena banyak perubahan fungsi dan lain-lain.

Sementara itu, ada proyek aplikasi lain yang diharuskan menggunakan modul versi itu.

Bentrok antar aplikasi python

Karena itu… kita membutuhkan virtualenv, agar masing-masing aplikasi memiliki modulnya sendiri.

Solusi Menggunakan Vritualenv

Bagaimana Cara Menggunakan Vritualenv?

Untuk dapat menggunakan Virtualenv, kita harus menginstalnya terlebih dahulu.

Instalasi Vritualenv

Virtualenv dapat kita instal dengan berbagai cara, salah satunya bisa melalui apt.

apt install virtualenv

atau:

apt install python-virtualenv

atau (untuk python3):

apt install python3-virtualenv

Atau bisa juga menggunakan pip:

[sudo] pip install virtualenv

untuk versi terbaru:

[sudo] pip install https://github.com/pypa/virtualenv/tarball/develop

Atau juga bisa dengan cara tradisional, yaitu men-download paket tar, ekstrak, lalu install dengan setup-tools.

# download Virtualenv (jangan lupa ganti X.X dengan nomer versi yang terseida)
curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-X.X.tar.gz

# ekstrak virtualenv
tar xvfz virtualenv-X.X.tar.gz

# pindah ke direktori hasil ekstrak
cd virtualenv-X.X

# isntall virtualenv ke OS
[sudo] python setup.py install

Note: Silahkan instal dengan cara yang kamu sukai. Penggunaan sudo pada perintah, akan menginstal virtualenv secara global.

Untuk memastikan sudah terinstall dengan benar, coba ketik perintah berikut:

[email protected] ~ $ which virtualenv
/usr/local/bin/virtualenv
[email protected] ~ $ virtualenv --version
15.1.0
[email protected] ~ $ 

Membuat Virtualenv

Setelah menginstal virtualenv, barulah kita bisa menggunakannya untuk membuat lingkungan virtual.

Mari kita buat sebuah proyek baru, buat direktori bernama my-project.

mkdir my-project

Setelah itu, buat virtual environment di sana.

cd my-project
virtualenv my-env

Saat kita mengetik perintah virtualenv my-env, virtualenv akan otomatis membuat lingkungan virtual dan direktori baru bernama my-env.

my-project/
└── my-env/
    ├── bin
    ├── include
    ├── lib
    ├── local
    └── pip-selfcheck.json

Di dalamnya terdapat direktori untuk menyimpan modul-modul dan file binary untuk digunakan oleh aplikasi.

Mengakses Vritualenv

Setelah kita membuat virtual env, kita bisa mengaktifkan dan menonaktifkannya dengan cara berikut.

Aktifkan virtualenv:

source my-env/bin/activate

Atau kita bisa singkat source dengan titik (.):

. my-env/bin/activate

Maka sekarang, kita sudah masuk ke dalam lingkungan virtual.

Mengaktifkan Virtualenv

Sekarang kita bisa menginstal modul apapun di sini, tanpa harus menggangu proyek atau aplikasi yang lain.

Mari kita coba menginstal flask.

Flask adalah mikro framework untuk membuat web dengan bahasa pemrograman python.

Silahkan kietik perintah berikut untuk menginstalnya melalui pip:

pip install Flask

Tunggulah beberapa saat, Flask sedang diinstal.

Instalasi Flask

Sekarang coba ketik perintah flask --version, maka akan keluar keterangan versi Flask yang terinstal.

(my-env) [email protected] ~/Desktop/my-project $ flask --version
Flask 0.12.2
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609]

Selanjutnya, coba keluar atau nonaktifkan virtual environtment dengan perintah deactivate dan coba lagi perintah flask --version.

Apa yang akan terjadi?

Deaktivasi Virtualenv

Yap! Perintah flask tidak lagi dikenali, karena belum terinstal di lingkungan OS (global).

Coba lagi masuk ke virtualenv, dan eksekusi flask.

. my-env/bin/activate
flask --version

Pasti bisa… karena sudah terinstal di sana.

Masih belum paham?

Mari kita coba membuat aplikasi Flask sederhana.

Silahkan buat file hello.py di dalam direktori proyeknya, kemudian isi kodenya seperti berikut:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

Setelah itu coba untuk mengeksekusi dari lingkungan OS dan lingkungan virtual dengan perintah:

FLASK_APP=hello.py flask run

Eksekusi di lingkungan OS:

[email protected] ~/Desktop/my-project $ FLASK_APP=hello.py flask run
No command 'flask' found, did you mean:
 Command 'flasm' from package 'flasm' (universe)
flask: command not found

Eksekusi di lingkunan virtual:

[email protected] ~/Desktop/my-project $ . my-env/bin/activate
(my-env) [email protected] ~/Desktop/my-project $ FLASK_APP=hello.py flask run
 * Serving Flask app "hello"
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Sukses!

Untuk melihat hasilnya silahkan buka http://localhost:5000.

Aplikasi Flask

Apa Selanjutnya?

Kita sudah mengenal dan belajar cara menggunakan Virtualenv, selanjutnya kita bisa bisa menggunakannya untuk keperluan sehari-hari.

Punya pertanyaan atau pengalaman menggunakan Virtualenv?

Mari sampaikan melalui komentar…

Baca Juga ini

Belajar Python: Cara Membaca dan Menulis File di Python

Belajar Python: Cara Membaca dan Menulis File di Python

Baca dan tulis file adalah teknik dasar yang harus dipahami dalam pemrograman Python, karena banyak digunakan untuk pengolahan dan pemerosesan file. Paham cara membaca dan menulis file dengan Python akan membuatmu mampu membuat aplikasi yang bisa mengambil dan menyimpan data ke file. Selain itu juga, kamu akan lebih mudah memahami beberapa materi Python selanjutnya, seperti baca dan parsing file JSON, XML, CSV, XLS, dan sebagainya. Ada banyak sekali tipe file pada komputer…seperti, dokumen, video, gambar, audio, arsip, dll.

Belajar Python: Cara Mengambil Input dan Menampilkan Output

Belajar Python: Cara Mengambil Input dan Menampilkan Output

Input adalah masukan yang kita berikan ke program. Program akan memprosesnya dan menampilkan hasil outputnya. Input, proses, dan output adalah inti dari semua program komputer. Pada tulisan ini, kita akan belajar cara mengambil input dan menampilkan output untuk program berbasis teks. Mari kita mulai… Cara Mengambil Input dari KeyboardPython sudah menyediakan fungsi input() dan raw_input() untuk mengambil inputan dari keyboard. Cara pakainya: nama_varabel = input("Sebuah Teks") Artinya, teks yang kita inputkan dari keyboard akan disimpan ke dalam nama_variabel.

5 Aturan Penulisan Sintaks Python yang Harus dipatuhi

5 Aturan Penulisan Sintaks Python yang Harus dipatuhi

Ada beberapa aturan dasar penulisan sintaks Python yang harus dipatuhi agar tidak terjadi error dan kode tersusun rapi

Cara Menggunakan PIP untuk Manajemen Paket di Python

Cara Menggunakan PIP untuk Manajemen Paket di Python

PIP merupakan program untuk manajemen paket di Python. Tugasnya untuk menginstal, menghapus, upgrade paket Python, dll.

Tutorial PyGTK #4: Mengenal 5 Macam Container untuk Membuat Layout

Tutorial PyGTK #4: Mengenal 5 Macam Container untuk Membuat Layout

Pada tutorial ini, kamu akan belajar macam-macam layout dan container di PyGTK. Ini penting untuk membuat tampilan aplikasi yang lebih rapi...

7 (Bahasa) Pemrograman yang Dapat Dilakukan Langsung di Ubuntu

7 (Bahasa) Pemrograman yang Dapat Dilakukan Langsung di Ubuntu

Apa saja bahasa pemrograman yang bisa kamu langsung pakai di Ubuntu?