Select Page

Ketika melakukan programming dengan python maka dianjurkan untuk menggunakan pyenv dan virtualenv.

pyenv

pyenv adalah sebuah tool yang berguna untuk memanage mutiple python versions. Lebih lengkapnya bisa dilihat di: https://github.com/yyuu/pyenv

Untuk Ubuntu 16.04, kita bisa install pyenv dengan cara clonning pyenv repo.

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc

echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc

echo 'eval "$(pyenv init -)"' >> ~/.bashrc
Dianjurkan untuk meletakkan line diatas pada akhir file .bashrc. Kalau tidak maka kemungkinan pyenv tidak berjalan dengan baik.

exec $SHELL

Setelah pyenv terinstall maka selanjutnya kita bisa install python version yang kita inginkan. Untuk install python 3 misalnya, dapat dilakukan dengan command:

pyenv install 3.5.2

Maka akan menginstall python 3.5.2.

Selanjutnya kita bisa switch python version dengan command:

pyenv global 3.5.2

Maka selanjutnya pyenv akan set python 3.5.2 secara global.

Dan apabila kita mau menggunakan python bawaan system maka commandnya adalah

pyenv global system

Sekarang apabila kita membuka shell maka shell tersebut akan menggunakan python dari pyenv yaitu python 3.5.2, dan semua instalasi package akan terisolasi dari python bawaan system.

virtualenv

virtualenv adalah sebuah tool yang berfungsi untuk membuat environment terpisah untuk python. Misalnya pada suatu project kita ingin install Django versi 1.8 dan pada project yang lain kita ingin install Django versi 1.9. Dengan menggunakan pip dan tanpa virtualenv maka kita cuma bisa menginstall 1 versi Django saja. Setiap kita install versi lain dari package, maka pip akan mereplace versi yang sudah ada. Untuk itulah kita butuh virtualenv.

Cara install virtualenv bisa dengan pip:

pip install virtualenv

Setelah virtualenv terinstall, selanjutnya kita bisa create environment baru dengan command:

virtualenv env-foo

Maka akan tercreate directory baru yaitu env-foo yang didalamnya berisi python program dan lib-lib lainnya.

Untuk mengaktivasi env-foo, maka kita harus menjalankan command:

. env-foo/bin/activate atau source env-foo/bin/activate

Selanjutnya apabila kita melakukan install package baru, maka package tersebut akan ditempatkan didalam directory env-foo ini.

Menggunakan pyenv dengan virtualenv

Untuk ubuntu 16.04 python2 akan terinstall secara default.
Tapi saya memutuskan untuk tidak menggunakan python bawaan system. Dan menginstall python2 dengan pyenv dengan command berikut:

pyenv install 2.7.12

Lalu setelah itu saya kembali menginstall virtualenv.

Sebelumnya saya switch dulu ke pyenv python2 dengan command.

pyenv global 2.7.12

Lalu install virtualenv dengan command:

pip install virtualenv

Sekarang saya punya 2 versi python di pyenv saya:
– python 2.7.12
– python 3.5.2

Dan untuk masing-masing versi python itu saya juga telah menginstall virtualenv.

Apabila saya ingin create virtualenv baru dengan python2 maka urutan command yang saya jalankan adalah:

mkdir ~/foo-project
cd ~/foo-project
pyenv global 2.7.12
virtualenv env-2.7.12

Dan apabila saya ingin create virtualenv baru dengan python3 maka urutan command yang saya jalankan adalah:

mkdir ~/bar-project
cd ~/bar-project
pyenv global 3.5.2
virtualenv env-3.5.2

Jadi hasil akhirnya adalah python bawaan system (ubuntu 16.04) tidak saya install virtualenv.
Dan pyenv saya terdiri dari multiple python versions, python2 dan python3. Dan saya juga install virtualenv untuk masing-masing pyenv python versions itu.

%d bloggers like this: