Cara Menginstal Beberapa Versi Python di Komputer Anda
Mengapa Anda harus menggunakan pyenv
dan Lingkungan Virtual Python?
Sebagai seorang programmer, baik yang bekerja di sebuah perusahaan, freelancer atau bahkan sebagai hobbyist, Anda biasanya mengerjakan beberapa proyek pemrograman secara bersamaan. Dan sebagian besar proyek tersebut memerlukan versi Python yang berbeda dan bergantung pada modul lain seperti versi tertentu numpy
, misalnya. Atau, jika Anda membuat modul Python sendiri dan ingin memvalidasi bahwa modul tersebut berjalan dengan benar pada versi Python yang berbeda, Anda memerlukan cara untuk menginstal beberapa versi Python di sistem Anda. Dan terkadang, Anda ingin melihat kandidat rilis Python terbaru tetapi tidak ingin merusak sistem produksi Anda.
Untuk semua situasi tersebut, pyenv
dan lingkungan virtual ( venv
) menawarkan solusi mudah untuk menginstal versi Python yang berbeda pada sistem Anda dan menyiapkan lingkungan dengan persyaratan lain.
Dalam artikel ini dan video Youtube yang menyertainya, Anda mempelajari cara menginstal dan mengatur pyenv
pada venv
Windows 10, macOS, dan Ubuntu Linux serta cara menggunakannya dengan VSCode.
Menginstal pyenv (Windows 11 & 10)
pyenv
sebenarnya dimulai sebagai alat untuk platform Unix seperti Linux dan macOS; namun, ada port Windows 10/11 luar biasa yang dapat ditemukan di repositori GitHub ini: https://github.com/pyenv-win/pyenv-win
Instalasi pyenv-win
tidak terlalu mudah karena cara kerja Windows 10/11 dan PowerShell, tetapi jika Anda mengikuti langkah-langkah tersebut, itu tidak akan terlalu merepotkan:
1- Unduh pyenv-win
arsip ZIP: pyenv-win
2- Buat folder baru .pyenv
di folder pengguna Anda dengan nama .pyenv
. Anda dapat melakukan ini menggunakan Explorer atau perintah PowerShell berikut:
mkdir $HOME/.pyenv
3- Ekstrak arsip ZIP dan salin folder pyenv-win
dan .version
file dari pyenv-win-master
folder tersebut ke .pyenv
folder yang baru dibuat di folder pengguna Anda.
4- Atur variabel lingkungan PYENV
dan PYENV_HOME
arahkan ke folder instalasi:
[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
5- Tambahkan bin
folder ke PATH
variabel. Seperti yang pyenv
dapat ditemukan saat menggunakan baris perintah
[System.Environment]::SetEnvironmentVariable('path', $env:USERPROFILE + "\.pyenv\pyenv-win\bin;" + $env:USERPROFILE + "\.pyenv\pyenv-win\shims;" + [System.Environment]::GetEnvironmentVariable('path', "User"),"User")
6- Tutup PowerShell saat ini.
7- Jika Anda belum mengaktifkan eksekusi skrip, mulai PowerShell baru dengan hak istimewa admin dengan mengklik kanan ikon PowerShell di menu mulai dan pilih Jalankan sebagai administrator . Jika tidak, lanjutkan ke langkah 9.
8- Masukkan perintah berikut ke PowerShell untuk mengaktifkan eksekusi skrip:
Set-ExecutionPolicy unrestricted
Dan tekan A
untuk memilih Ya untuk SEMUA . Setelah itu, Anda dapat menutup jendela PowerShell ini dan membuka yang baru tanpa hak istimewa admin.
9- Sekarang, Anda dapat menjalankannya pyenv
dengan memasukkan:
Jika Anda menemukan peringatan keamanan yang mengharuskan Anda memilih apakah ingin menjalankannya, pyenv
Anda dapat menonaktifkan peringatan ini dengan "membuka blokir" skrip pyenv dengan perintah berikut:
Unblock-File $HOME/.pyenv/pyenv-win/bin/pyenv.ps1
macOS
Sebelum Anda dapat menginstal pyenv
di macOS, beberapa paket perangkat lunak lain harus diinstal terlebih dahulu. Pertama, Anda memerlukan alat baris perintah XCode, yang diinstal melalui perintah berikut:
xcode-select --install
Saat pyenv
membangun versi Python dari awal, diperlukan beberapa perpustakaan untuk proses pembangunan. Pustaka tersebut dapat diinstal melalui manajer paket Homebrew :
brew install openssl readline sqlite3 xz zlib
Penginstalan pyenv
di macOS dapat dilakukan dengan dua cara. Yang pertama adalah menggunakan manajer paket Homebrew:
brew update
brew install pyenv
Dan setelah instalasi selesai dengan sukses, masukkan yang berikut ini untuk ditambahkan pyenv
ke terminal Anda $PATH
dan mulai pyenv
ketika jendela terminal baru dibuka (jika Anda tidak menggunakan zsh
shell, Anda harus mengubahnya ~/.zshrc
):
echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
Jika Anda tidak ingin menginstal pyenv
melalui Homebrew, Anda dapat menginstalnya langsung dari repositori GitHub . Masukkan perintah berikut ke baris perintah Anda untuk mengkloning pyenv
repositori GitHub ke direktori home Anda:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
Setelah mengkloningnya, Anda perlu memasukkan perintah berikut untuk ditambahkan pyenv
ke Anda $PATH
dan memulainya ketika jendela terminal baru dibuka (jika Anda menggunakan shell yang berbeda dari yang zsh
Anda harus ubah ~/.zshrc
):
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
Linux (Debian/Ubuntu)
Untuk menginstal pyenv
pada distribusi Linux berbasis Debian atau Ubuntu, Anda harus menginstal beberapa perpustakaan dan paket yang diperlukan untuk membangun Python dari awal. Masukkan perintah berikut ke terminal Anda untuk menginstal semua paket yang diperlukan:
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl \
git
Untuk menginstal, pyenv
Anda dapat mengkloningnya langsung dari repositori GitHub :
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
Setelah mengkloningnya, Anda perlu memasukkan perintah berikut untuk ditambahkan pyenv
ke terminal Anda $PATH
dan memulainya ketika terminal baru dibuka (jika Anda menggunakan shell yang berbeda dari yang bash
Anda harus ubah ~/.bashrc
):
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
Menggunakan pyenv
Setelah Anda berhasil menginstal, pyenv
sekarang saatnya untuk melihat berbagai perintah yang pyenv
menawarkan untuk mengelola berbagai versi Python.
Mungkin perintah yang paling penting adalah:
pyenv install [PYTHON_VERSION]
Dengan perintah ini, Anda dapat menginstal versi Python tertentu di sistem Anda. Untuk melihat semua versi yang tersedia untuk diinstal, masukkan:
pyenv install -l
Ini akan mencetak daftar yang sangat panjang di terminal Anda (tergantung pada sistem operasi Anda) versi Python yang dapat Anda instal. Dan ini bukan hanya versi CPython standar. Ada juga pypy
yang merupakan implementasi dari Python pada Python itu sendiri. Atau anaconda
, yang sangat populer di bidang sains dan data mining. Pilih versi Python pilihan Anda dan gunakan pyenv install
untuk menginstalnya di sistem Anda.
Untuk melihat versi mana yang sudah Anda instal, masukkan perintah berikut ke terminal Anda:
pyenv versions
Perintah ini akan mencantumkan semua versi Python yang dapat Anda pilih pyenv
. Versi yang sedang aktif memiliki tanda bintang ( *
) di depannya:
system
3.10.0rc1
* 3.9.6 (set by /home/konze/Programming/ml_acc_timing_model_extraction/.python-version)
pypy3.7-7.3.5
Jika Anda ingin mengetahui versi Python mana yang saat ini aktif di shell Anda, cukup ketik:
pyenv version
Sekarang, setelah Anda menginstal beberapa versi berbeda, bagaimana Anda menyetel versi tertentu? Untuk memilih versi Python default yang aktif saat Anda membuka terminal baru, gunakan perintah global
:
pyenv global [PYTHON_VERSION]
Pastikan untuk memasukkan nama persis versi Python terinstal yang ditampilkan saat Anda memasukkan pyenv versions
. Alternatifnya pyenv global [PYTHON_VERSION]
, Anda juga dapat mengatur variabel lingkungan (khusus Unix) PYENV_VERSION
dengan:
export PYENV_VERSION=[PYENV_VERSION]
Jika Anda ingin menetapkan versi Python tertentu untuk sesi terminal Anda saat ini, gunakan:
pyenv shell [PYTHON_VERSION]
Ini akan mengatur versi Python hanya selama sesi Anda aktif. Jadi setelah Anda menutup terminal, semuanya kembali ke default.
Untuk menyetel versi proyek Python yang aktif segera setelah Anda “ cd
” ke dalam direktori proyek, masukkan yang berikut ini saat Anda berada di dalam direktori akar proyek:
pyenv local [PYTHON_VERSION]
Ini akan membuat file .python-version
yang berisi [PYTHON_VERSION]
. Anda bahkan dapat memeriksanya dengan masuk pyenv versions,
dan itu akan memberi tahu Anda berdasarkan pengaturan apa yang dipilih versi Python aktif saat ini.
Tentu saja, ada lebih banyak pyenv
perintah, tetapi saya tidak akan membahasnya di artikel ini. Anda dapat menemukan referensi perintah lengkap di sini: Referensi Perintah pyenv .
Menciptakan Lingkungan Virtual
Kekuatan sebenarnya dari Python berasal dari banyaknya modul mulai dari teori grafik hingga pembelajaran mesin. Untuk menginstal modul-modul tersebut, pip
perintah digunakan. Jika Anda menggunakan pyenv
dan memasukkan pip:
which pip
dan untuk Windows PowerShell:
get-command pip
Ini akan menunjukkan kepada Anda bahwa pip dipanggil dari .pyenv
direktori. Dan jika Anda menginstal modul menggunakannya pip
diinstal ke dalam .pyenv
direktori Anda terkait dengan versi yang sedang aktif. Jadi jika Anda menginstal numpy
saat versi Python Anda saat ini adalah 3.9.6 numpy
tidak akan tersedia saat Anda beralih ke anaconda3-2021.05
. Namun, rincian ini mungkin tidak cukup, dan Anda memerlukan pembedaan berbasis proyek antara modul-modul yang berbeda. Dan lingkungan virtual melakukan hal tersebut untuk Anda.
Untuk membuat lingkungan virtual baru bagi proyek Anda, buka terminal di direktori akar proyek Anda. Pastikan Anda mengatur versi Python yang Anda inginkan untuk proyek ini menggunakan pyenv local [PYTHON_VERSION]
lalu masukkan:
python -m venv .venv
Perintah ini akan membuat direktori baru .venv
yang berisi interpreter Python (disediakan oleh pyenv
) dan semua modul yang diinstal pip
nanti. Setelah membuat lingkungan virtual yang baru dibuat, Anda harus mengaktifkannya. Ini dilakukan dengan memasukkan:
source .venv/bin/activate
dan untuk Windows PowerShell:
".\\.venv\\Scripts\\activate"
Sekarang sebuah (.venv)
string akan muncul di depan baris perintah Anda. Setelah Anda mengaktifkan lingkungan virtual, Anda dapat memeriksanya dengan which python
atau get-command python
yang sekarang dipanggil dari .venv
direktori. Dan ketika Anda menggunakan pip
, itu juga menginstal semua modul ke dalam .venv
direktori. Dalam kasus yang jarang terjadi, Anda mengacaukan lingkungan virtual, Anda dapat menghapus direktori .venv
dan membuat yang baru dengan python -m venv .venv
.
Menggunakan Lingkungan Virtual dengan VSCode
Sekarang setelah Anda berhasil menginstal pyenv
dan mengatur lingkungan virtual, di bagian ini saya akan menunjukkan kepada Anda cara memberi tahu VSCode untuk mengaktifkan lingkungan virtual secara default untuk proyek Python Anda.
Saat Anda membuka direktori proyek Python dengan VSCode dan membuat lingkungan virtual, itu tidak akan mengaktifkannya secara default. Untuk melakukan ini, Anda harus membuka ruang kerja settings.json
dengan Ctrl+Shift+P atau Cmd+Shift+P di macOS dan masuk settings.json .
Ini akan membuat file baru .vscode/settings.json
di direktori root proyek Anda. Saat Anda menjalankan aplikasi Python, lingkungan virtual Anda akan aktif secara otomatis. Di yang baru dibuat settings.json
masukkan nilai baru
"python.terminal.activateEnvironment": true
Dan ketika Anda sekarang menjalankan program Python di VSCode, maka secara otomatis akan mengaktifkan lingkungan virtual Anda.