Apa itu Pyenv
Pyenv adalah alat manajemen versi Python open-source yang memungkinkan pengembang untuk dengan mudah menginstal dan beralih antara versi Python yang berbeda pada basis proyek tertentu. Pyenv menawarkan antarmuka baris perintah yang sederhana namun kuat untuk mengelola versi Python, dan mendukung integrasi dengan alat lingkungan virtual seperti virtualenv
dan venv
.
Dengan Pyenv, Anda dapat dengan mudah memelihara beberapa versi Python, menciptakan lingkungan pengembangan yang terisolasi, dan memastikan bahwa proyek Anda berjalan pada interpreter Python yang benar. Dengan menguasai Pyenv, Anda akan dapat mempercepat alur kerja pengembangan Anda, meningkatkan kolaborasi, dan membuat proyek Python Anda lebih andal dan mudah dipelihara.
Memulai dengan Pyenv
Instalasi
Sebelum menggunakan Pyenv, Anda perlu menginstalnya di sistem Anda. Proses instalasi bervariasi tergantung pada sistem operasi Anda:
- macOS
Anda dapat menginstal Pyenv menggunakan Homebrew dengan perintah berikut:
$ brew install pyenv
- Ubuntu/Linux
Gunakan skrip penginstal Pyenv untuk menginstal alat ini:
$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
- Windows
Pyenv tidak didukung secara resmi di Windows. Namun, Anda dapat menggunakan pyenv-win fork, yang menyediakan fungsi yang serupa. Instal dengan perintah berikut:
$ pip install pyenv-win --target %USERPROFILE%\\.pyenv
Setelah menginstal Pyenv, Anda perlu menambahkannya ke skrip startup shell Anda (misalnya, .bashrc
, .zshrc
, atau .bash_profile
), sehingga tersedia setiap kali Anda membuka terminal. Tambahkan baris berikut ke file konfigurasi shell Anda:
$ export PYENV_ROOT="$HOME/.pyenv"
$ export PATH="$PYENV_ROOT/bin:$PATH"
$ eval "$(pyenv init --path)"
Restart shell Anda, dan Anda sekarang memiliki akses ke perintah pyenv
.
Perintah Dasar
Berikut adalah beberapa perintah Pyenv penting untuk memulai:
-
pyenv versions
Menampilkan semua versi Python yang terinstal pada sistem Anda. -
pyenv install -l
Menampilkan semua versi Python yang tersedia yang dapat Anda instal. -
pyenv global <version>
Mengatur versi Python global untuk sistem Anda. -
pyenv local <version>
Mengatur versi Python lokal untuk direktori saat ini. -
pyenv shell <version>
Mengatur versi Python untuk sesi shell saat ini. -
pyenv uninstall <version>
Menghapus versi Python tertentu.
Menggunakan Pyenv dengan Lingkungan Virtual
Lingkungan virtual adalah komponen kunci pengembangan Python, karena memungkinkan Anda untuk menciptakan lingkungan terisolasi untuk setiap proyek, memastikan bahwa dependensi dan versi Python tidak saling mengganggu. Pyenv dapat digunakan bersama dengan alat lingkungan virtual seperti virtualenv
dan venv
.
Anda dapat membuat lingkungan virtual baru menggunakan versi Python yang Anda inginkan dengan perintah berikut:
$ python -m venv <env_name>
Ganti <env_name>
dengan nama preferensi Anda untuk lingkungan virtual.
Untuk mengaktifkan lingkungan virtual, jalankan perintah berikut:
- macOS/Linux:
source <env_name>/bin/activate
- Windows:
<env_name>\Scripts\activate
Dengan lingkungan virtual diaktifkan, Anda sekarang dapat menginstal paket dan menjalankan proyek Python Anda menggunakan versi Python yang ditentukan. Untuk menonaktifkan lingkungan virtual, cukup jalankan perintah deactivate
.
$ deactivate
Mengelola Versi Python
Menginstal Beberapa Versi Python
Untuk menginstal versi Python tertentu menggunakan Pyenv, Anda dapat menggunakan perintah berikut:
$ pyenv install <version>
Ganti <version>
dengan nomor versi Python yang diinginkan (misalnya, 3.9.6
). Anda dapat menemukan daftar versi Python yang tersedia dengan menjalankan pyenv install -l
. Setelah instalasi selesai, versi Python baru akan tersedia untuk digunakan dengan Pyenv.
Beralih antara Versi Python
Pyenv memungkinkan Anda beralih antara versi Python yang terinstal dengan mudah. Ada tiga skop utama untuk mengatur versi Python: global, lokal, dan shell.
Global
Versi Python global digunakan sebagai default untuk sistem Anda. Anda dapat mengatur versi global menggunakan perintah berikut:
$ pyenv global <version>
Ganti <version>
dengan nomor versi Python yang diinginkan.
Lokal
Versi Python lokal diatur pada basis per direktori. Ini lebih tinggi dari versi global ketika Anda berada dalam direktori tersebut. Untuk mengatur versi lokal, navigasikan ke direktori proyek Anda dan jalankan:
$ pyenv local <version>
Ganti <version>
dengan nomor versi Python yang diinginkan. Ini akan membuat file .python-version
di direktori saat ini, yang Pyenv gunakan untuk menentukan versi Python lokal.
Shell
Versi Python shell diatur pada basis sesi shell. Ini lebih tinggi dari versi global dan lokal. Untuk mengatur versi shell, jalankan:
$ pyenv shell <version>
Ganti <version>
dengan nomor versi Python yang diinginkan. Versi shell hanya akan bertahan selama sesi shell saat ini.
Mengatur Versi Python Sistem dan Pengguna
Anda dapat mengatur versi Python sistem dan pengguna menggunakan skop global dan lokal, masing-masing.
-
Sistem
Untuk mengatur versi Python sistem, gunakan perintahpyenv global
seperti yang disebutkan pada bagian sebelumnya. -
Pengguna-spesifik
Untuk mengatur versi Python pengguna-spesifik, navigasikan ke direktori rumah pengguna dan gunakan perintahpyenv local
. Ini akan membuat file.python-version
di direktori rumah pengguna, yang akan digunakan oleh Pyenv untuk menentukan versi Python pengguna-spesifik.
Memahami Skop Global, Lokal, dan Shell
Penting untuk memahami urutan skop global, lokal, dan shell ketika bekerja dengan Pyenv. Urutan prioritas adalah sebagai berikut:
-
Skop shell
Jika versi shell diatur, maka akan lebih tinggi dari skop lainnya. -
Skop lokal
Jika versi lokal diatur dan tidak ada versi shell yang diatur, maka versi lokal digunakan. -
Skop global
Jika tidak ada versi shell atau lokal yang diatur, maka versi global digunakan.
Dengan menggunakan skop yang berbeda ini, Anda dapat dengan mudah mengelola versi Python pada basis proyek, pengguna, atau sistem, memastikan bahwa proyek Anda menggunakan interpreter Python yang benar dan menghindari konflik antara proyek dengan persyaratan versi yang berbeda.
Referensi