Pyenv - Instal Beberapa Versi Python untuk Proyek Tertentu


Mengelola beberapa versi Python di sistem Linux bukanlah tugas yang mudah, terutama bagi pemula. Kadang-kadang bahkan menjadi lebih buruk ketika Anda ingin mengembangkan dan menjalankan beberapa proyek dengan versi Python berbeda di server yang sama. Namun, hal ini tidak akan terjadi jika Anda menggunakan pyenv.

Baca Juga: Cara Install Python Versi 3.6 Terbaru di Linux

Apa itu Pyenv?

Pyenv adalah alat sederhana, kuat, dan lintas platform untuk mengelola beberapa versi Python di sistem Linux, yang digunakan untuk.

  • Mengganti versi Python global berdasarkan per pengguna.
  • mengatur versi Python lokal berdasarkan per proyek.
  • Mengelola lingkungan virtual yang dibuat oleh anaconda atau virtualenv.
  • Mengganti versi Python dengan variabel lingkungan.
  • Mencari perintah dari berbagai versi Python dan banyak lagi.

Bagaimana cara kerja pyenv?

Biasanya, satu versi default Python digunakan untuk menjalankan semua aplikasi Anda, kecuali Anda secara eksplisit menentukan versi yang ingin Anda gunakan dalam aplikasi. Namun pyenv mengimplementasikan konsep sederhana menggunakan shims (executable ringan) untuk meneruskan perintah Anda ke versi Python yang benar yang ingin Anda gunakan, ketika Anda memiliki beberapa versi yang diinstal.

shims ini disisipkan oleh pyenv di direktori di depan PATH Anda. Jadi ketika Anda menjalankan perintah Python, perintah tersebut dicegat oleh shim yang sesuai dan diteruskan ke pyenv, yang kemudian menetapkan versi Python yang telah ditentukan oleh aplikasi Anda, dan meneruskannya perintah Anda bersama dengan instalasi Python yang benar. Ini adalah ikhtisar cara kerja pyenv.

Pada artikel ini, kami akan menunjukkan cara menginstal pyenv versi terbaru di Linux. Kami juga akan mendemonstrasikan tiga kasus penggunaan pertama yang tercantum di atas.

Cara Install Pyenv di Linux

1. Pertama instal semua paket yang diperlukan untuk menginstal versi Python yang berbeda dari sumber menggunakan perintah berikut pada distribusi Linux Anda masing-masing.

------------ On Debian/Ubuntu/Linux Mint ------------ 
sudo apt install curl git-core gcc make zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libssl-dev

------------ On CentOS/RHEL ------------
yum -y install epel-release
yum install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel

------------ On Fedora 22+ ------------
yum install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel

2. Selanjutnya, ambil pohon sumber pyenv terbaru dari repositori Github dan instal di jalur $HOME/.pyenv menggunakan perintah berikut.

git clone https://github.com/pyenv/pyenv.git $HOME/.pyenv

3. Sekarang Anda perlu menyetel variabel lingkungan PYENV_ROOT agar menunjuk ke jalur tempat Anda menginstal pyenv dan mengekspornya. Lalu tambahkan $PYENV_ROOT/bin ke PATH Anda untuk menjalankan utilitas baris perintah pyenv seperti perintah sistem lainnya.

Anda juga perlu mengaktifkan shims serta pelengkapan otomatis dengan menambahkan pyenv init ke shell Anda. Lakukan semua hal ini di file startup bash $HOME/.bashrc Anda, seperti yang ditunjukkan.

vim $HOME/.bashrc 

Salin dan tempel baris berikut di akhir file ini.

## pyenv configs
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

4. Setelah Anda melakukan perubahan di atas, Anda dapat mengambil file $HOME/.bashrc atau memulai ulang shell seperti yang ditunjukkan.

source $HOME/.bashrc
OR
exec "$SHELL"

Cara Menginstal Beberapa Versi Python di Linux

5. Pada tahap ini, Anda sudah siap untuk mulai menggunakan pyenv. Sebelum Anda menginstal versi Python apa pun, Anda dapat melihat semua versi yang tersedia dengan perintah ini.


pyenv install -l

6. Anda sekarang dapat menginstal beberapa versi Python melalui pyenv, misalnya.

pyenv install 3.6.4
pyenv install 3.6.5

7. Untuk membuat daftar semua versi Python yang tersedia untuk pyenv, jalankan perintah berikut. Ini hanya akan menampilkan versi yang diinstal melalui pyenv itu sendiri.

pyenv versions

8. Anda dapat memeriksa versi global Python dengan perintah berikut, saat ini, versi default haruslah versi yang ditetapkan oleh sistem, bukan pyenv.

pyenv global

Anda dapat menyetel versi python global menggunakan perintah pyenv.

pyenv global 3.6.5
pyenv global

9. Kini Anda dapat menyetel versi Python lokal berdasarkan per proyek, misalnya, jika Anda memiliki proyek yang berlokasi di $HOME/python_projects/test, Anda dapat menyetel versi Python menggunakan perintah berikut.

cd python_projects/test
pyenv local 3.6.5
pyenv version		#view local python version for a specific project 
OR
pyenv versions

10. Pyenv mengelola lingkungan virtual melalui pyenv-virtualenv plugin yang mengotomatiskan pengelolaan lingkungan virtualenvs dan conda untuk Python di Linux dan sistem mirip UNIX lainnya.

Anda bisa mulai dengan menginstal plugin ini menggunakan perintah berikut.

git clone https://github.com/yyuu/pyenv-virtualenv.git   $HOME/.pyenv/plugins/pyenv-virtualenv
source $HOME/.bashrc

11. Sekarang kita akan membuat lingkungan virtual pengujian yang disebut venv_project1 pada proyek yang disebut project1 sebagai berikut.

cd python_projects
mkdir project1
cd project1
pyenv virtualenv 3.6.5 venv_project1

12. Sekarang ketika Anda mencantumkan semua versi Python, lingkungan virtual Anda serta versi python lokalnya juga harus dicantumkan, seperti yang ditunjukkan pada tangkapan layar.

pyenv versions

13. Untuk mengaktifkan virtualenv, misalnya venv_project1, ketik perintah berikut.

pyenv activate venv_project1

Catatan: Anda mungkin mendapatkan pesan di bawah ini saat menggunakan plugin pyenv-virtualenv versi terbaru untuk pertama kalinya.

pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.

Tambahkan baris export PYENV_VIRTUALENV_DISABLE_PROMPT=1 di file $HOME/.bashrc Anda, tempat Anda menambahkan konfigurasi pyenv lainnya, dan sumberkan file tersebut untuk disimulasikan perilaku yang ditekankan.

14. Untuk menonaktifkan virtualenv yang diaktifkan, jalankan perintah ini.

pyenv deactivate

Untuk informasi lebih lanjut, Anda dapat membuat daftar semua perintah pyenv menggunakan perintah berikut.

pyenv commands

Untuk informasi lebih lanjut, buka repositori pyenv Github: https://github.com/pyenv/pyenv

Baca Juga: Cara Memasang Beberapa Versi PHP untuk Beberapa Situs Web

Menggunakan pyenv sangatlah sederhana. Dalam panduan ini, kami menunjukkan cara menginstalnya, serta mendemonstrasikan beberapa kasus penggunaannya untuk mengelola beberapa versi python di sistem Linux. Gunakan formulir masukan di bawah untuk mengajukan pertanyaan atau menyampaikan pendapat Anda tentang alat ini.