Cara Menginstal Beberapa Versi Python di Komputer Anda

Cara Menginstal Beberapa Versi Python di Komputer Anda

Mengapa Anda harus menggunakan pyenvdan 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, pyenvdan 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 pyenvpada venvWindows 10, macOS, dan Ubuntu Linux serta cara menggunakannya dengan VSCode.

Menginstal pyenv (Windows 11 & 10)

pyenvsebenarnya 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-wintidak 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-winarsip ZIP: pyenv-win

2- Buat folder baru .pyenvdi 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-windan .versionfile dari pyenv-win-masterfolder tersebut ke .pyenvfolder yang baru dibuat di folder pengguna Anda.

4- Atur variabel lingkungan PYENVdan PYENV_HOMEarahkan 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 binfolder ke PATHvariabel. Seperti yang pyenvdapat 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.

Jalankan PowerShell sebagai administrator

8- Masukkan perintah berikut ke PowerShell untuk mengaktifkan eksekusi skrip:

Set-ExecutionPolicy unrestricted

Dan tekan Auntuk 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 pyenvdengan memasukkan:

Jika Anda menemukan peringatan keamanan yang mengharuskan Anda memilih apakah ingin menjalankannya, pyenvAnda 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 pyenvdi 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 pyenvmembangun 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 pyenvdi 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 pyenvke terminal Anda $PATHdan mulai pyenvketika jendela terminal baru dibuka (jika Anda tidak menggunakan zshshell, Anda harus mengubahnya ~/.zshrc):

echo 'eval "$(pyenv init --path)"' >> ~/.zshrc

Jika Anda tidak ingin menginstal pyenvmelalui Homebrew, Anda dapat menginstalnya langsung dari repositori GitHub . Masukkan perintah berikut ke baris perintah Anda untuk mengkloning pyenvrepositori GitHub ke direktori home Anda:

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

Setelah mengkloningnya, Anda perlu memasukkan perintah berikut untuk ditambahkan pyenvke Anda $PATHdan memulainya ketika jendela terminal baru dibuka (jika Anda menggunakan shell yang berbeda dari yang zshAnda 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 pyenvpada 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, pyenvAnda dapat mengkloningnya langsung dari repositori GitHub :

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

Setelah mengkloningnya, Anda perlu memasukkan perintah berikut untuk ditambahkan pyenvke terminal Anda $PATHdan memulainya ketika terminal baru dibuka (jika Anda menggunakan shell yang berbeda dari yang bashAnda 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, pyenvsekarang saatnya untuk melihat berbagai perintah yang pyenvmenawarkan 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 pypyyang 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 installuntuk 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_VERSIONdengan:

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-versionyang 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 pyenvperintah, 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, pipperintah digunakan. Jika Anda menggunakan pyenvdan memasukkan pip:

which pip

dan untuk Windows PowerShell:

get-command pip

Ini akan menunjukkan kepada Anda bahwa pip dipanggil dari .pyenvdirektori. Dan jika Anda menginstal modul menggunakannya pipdiinstal ke dalam .pyenvdirektori Anda terkait dengan versi yang sedang aktif. Jadi jika Anda menginstal numpysaat versi Python Anda saat ini adalah 3.9.6 numpytidak 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 .venvyang berisi interpreter Python (disediakan oleh pyenv) dan semua modul yang diinstal pipnanti. 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 pythonatau get-command pythonyang sekarang dipanggil dari .venvdirektori. Dan ketika Anda menggunakan pip, itu juga menginstal semua modul ke dalam .venvdirektori. Dalam kasus yang jarang terjadi, Anda mengacaukan lingkungan virtual, Anda dapat menghapus direktori .venvdan membuat yang baru dengan python -m venv .venv.

Menggunakan Lingkungan Virtual dengan VSCode

Sekarang setelah Anda berhasil menginstal pyenvdan 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.jsondengan Ctrl+Shift+P atau Cmd+Shift+P di macOS dan masuk settings.json .

Ini akan membuat file baru .vscode/settings.jsondi direktori root proyek Anda. Saat Anda menjalankan aplikasi Python, lingkungan virtual Anda akan aktif secara otomatis. Di yang baru dibuat settings.jsonmasukkan nilai baru

"python.terminal.activateEnvironment": true

Dan ketika Anda sekarang menjalankan program Python di VSCode, maka secara otomatis akan mengaktifkan lingkungan virtual Anda.