Instalasi dan Konfigurasi Python Multi Versi + Virtual Environment di Windows 11
Buat apa install banyak Python dengan beda versi, kalau satu saja sudah cukup? 😊
Ceritanya begini, instalasi Python di OS Windows 11 saya semula melalui aplikasi Anaconda. Warisan dari instalasi lama di Windows 10 selumnya. Setelah sekian lama install, uninstall, update/upgrade aplikasi atau paket library di dalamnya — di berbagai virtual environment berbeda — akhirnya ada konflik antar paket di anaconda-nya.
Sudah saya coba melakukan update semua paket ke anaconda terbaru atau coba reset (rollback) ke versi yang lama, tapi masih bermasalah. Coba uninstall anaconda, hapus semua direktori terkait anaconda, bahkan sampai ke registry-nya, kemudian install ulang fresh, juga belum mempan.
Akhirnya ambil keputusan buat uninstall anaconda dan coba install python yang versi asli (atau standalone). Pilihan pertama ingin mencoba python versi terbaru yaitu versi 3.10, langsung unduh di websitenya.
1. Instalasi Awal
Setelah unduh file python-3.10.0-amd64.exe, langsung buka untuk melakukan instalasi. Tutorial instalasi sudah tersedia di websitenya juga.
Untuk setelan di gambar sebelah kiri dicentang semua pilihannya, dan sebelah kanan juga begitu (sebagian saja, lihat gambar). Untuk alamat direktori instalasi saya pilih di direktori user dan nama folder-nya Python310. Di halaman instalasi awal (tidak saya screenshot), terdapat opsi: Add Python 3.10 to PATH, dicentang saja biar nanti dapat otomatis dipanggil melalui windows console di direktori manapun. Hal ini juga berlaku untuk python versi 3.8 dan 3.9.
Jika instalasi dan konfigurasi berhasil, kita dapat langsung mengujinya dengan membuka command prompt, dan mengetikkan python [tekan ENTER].
Untuk memeriksa alamat direktori instalasi, kita dapat menggunakan perintah: pip -V. Sebenarnya perintah ini digunakan untuk memeriksa versi dari aplikasi pip dan alamat direktori paket library dari python yang diinstal.
C:\Users\galih-hermawan>pip -V
pip 21.3.1 from C:\Users\galih-hermawan\Python310\lib\site-packages\pip (python 3.10)
Sebagai tambahan info, salah satu tempat untuk menyimpan hasil konfigurasi agar aplikasi python dapat dipanggil langsung di command prompt adalah berada di System Properties >Advanced > Environment Variables. Kalau di Windows, cukup ketik kata “env” di kotak pencarian langsung otomatis muncul tautan programnya.
Setelah tombol “Environment Variables” diklik, akan muncul halaman berikut.
Klik ganda atau tekan tombol Edit, setelah menyorot pada pilihan (kolom) Variable, berisi Path.
Selama terdapat isian alamat direktori python di sini, maka semua aplikasi yang ada di direktori tersebut akan dapat dipanggil di command prompt secara langsung. Jika tidak ada, dapat dibuatkan path barunya dengan cara tekan tombol New, dan masukkan alamat direktori instalasi dari Python yang diinginkan.
2. Instalasi Paket Library dan Pembuatan Virtual Environment
Penjelasan terkait apa pentingnya dan tutorial dasar penggunaannya dapat melihat di website resminya atau di Real Python.
Singkatnya, jika tidak menggunakan virtual environment (venv), semua aplikasi paket library akan disimpan di direktori “Lib\site-packages\” dalam direktori instalasi python kita sebelumnya. Jika menggunakan venv, tempat penyimpanan paket dapat diletakkan di mana saja selain di direktori instalasi.
Misalnya, venv untuk mengembangkan aplikasi berbasis GUI (graphical user interface) dibedakan dengan venv untuk aplikasi berbasis website, atau mobile.
Sebelum melakukan instalasi virtual environment (venv), sebaiknya kita juga memeriksa jika ada pembaruan pada aplikasi-aplikasi yang terlibat dalam melakukan instalasi, yaitu: pip, setuptools, dan wheel. Berikut perintah melakukan upgrade aplikasi jika tersedia.
pip install --upgrade pip setuptools wheel
Berikutnya kita lakukan instalasi venv dengan mengeksekusi perintah berikut ini.
pip install virtualenv
Jika instalasi berhasil, berikutnya adalah kita dapat membuat venv dengan nama bebas. Aturan perintah dalam pembuatan venv adalah:
python -m venv nama_venv
Pertama-tama adalah menetapkan dulu alamat direktori venv. Misalkan dalam contoh ini saya gunakan alamat berikut.
D:\PythonKu\#venv\
Misal kita akan membuat venv dengan nama WebApps. Cara pertama, dalam jendela command prompt, kita langsung dapat mengetikkan perintah berikut:
python -m venv D:\PythonKu\#venv\WebApps
Isian nama_venv adalah nama venv disertai alamat direktori penyimpanan venv yang kita tetapkan. Dalam alamat venv tersebut akan otomatis dibuatkan folder baru bernama WebApps yang sudah ada isinya.
Cara kedua, dari jendela command prompt, kita lakukan perintah pindah direktori ke direktori venv, kemudian buat venv baru dengan nama misalnya WebAppsDua.
C:\Users\galih-hermawan>cd D:\PythonKu\#venv\
C:\Users\galih-hermawan>d:
D:\PythonKu\#venv>python -m venv WebAppsDua
3. Mengaktifkan dan Menggunakan Virtual Environment
Setelah berhasil membuat venv, kita coba melakukan aktifasi venv dan bekerja di dalamnya. Untuk mengkatifkan venv kita ketikkan perintah dengan ketentuan berikut.
nama_venv\Scripts\activate
Jika posisi direktori default di command prompt ada di luar alamat direktori venv, maka kita cukup mengetikkan alamat direktori lengkap dari nama venv (contoh kasus venv WebApps) disertai dengan tambahan perintah “\Scripts\activate”.
Cara lain adalah dengan pindah direktori dulu ke alamat #venv kemudian mengetikkan perintah sebagaimana ada dalam ketentuan di atas.
Nah, setelah behasil mengaktifkan venv, kita dapat melakukan instalasi paket library dan bekerja menggunakan lingkungan venv ini. Misal, kita lakukan instalasi paket bernama: numpy.
pip install numpy
...
Successfully installed numpy-1.21.3
Paket ini akan disimpan di direktori venv WebApps, pada folder “Lib\site-packages”.
Untuk keluar dari venv cukup mengetikkan perintah: deactivate.
4. Instalasi dan Konfigurasi Python Versi 3.8 dan 3.9
Sebelum dilanjutkan instalasi, ada cerita sedikit pengalaman menggunakan python 3.10. Waktu saya akan instal paket Scikit-Learn versi 1.0.1 dan Scipy versi 1.7.1 (versi terakhir hingga tanggal artikel ini diterbitkan), ternyata paket tersebut baru mendukung hingga python versi 3.9.
Dan ketika akan memasang paket Tensorflow, instalasi berhasil tapi Cuda (GPU) saya tidak terdeteksi. Ketika dilakukan uji coba, modul tensorflow ini meminta sebuah file .dll (library) yang terdapat pada Cuda versi terbaru, — yaitu versi 11 — sedangkan milik saya masih versi 10.2. Versi ini memang sesuai dengan driver GPU Nvidia saya.
Setelah mencari informasi di internet ¹ ² ³, ditemukan bahwa Cuda-GPU versi 10.2 dapat disandingkan dengan Tensorflow versi 2.2.0, Keras versi 2.3.0, tapi harus dengan Python 3.8 😔. Dikarenakan belum berhasil untuk instalasi tensorflow dari source, terpaksa harus install python versi 3.8.
Jadi, saat ini saya memiliki instalasi dari tiga python dengan versi 3.8, 3.9, dan 3.10. Alamat direktori instalasi saya buat pada alamat direktori root yang sama, hanya beda nama.
Kemudian untuk alamat direktori venv juga dibuat dengan kondisi serupa.
Untuk konfigurasi Path — Environment Variables, saya masukkan alamat direktori dari ketiga versi python. Python default yang akan digunakan adalah yang berada pada urutan teratas, dalam hal ini saya pilih yang versi 3.8. Urutan ini dapat diganti dengan menekan tombol Move Up atau Move Down di menu sebelah kanan (dalam gambar terpotong).
Selanjutnya saya buat venv sesuai kebutuhan pada masing-masing versi python.
5. Penutup
Pada bagian penutup ini saya ingin memberikan tips bagaimana cara mengakses python sesuai versinya dengan mudah.
1. Mengubah nama file python yang ada di direktori instalasi dengan tambahan nomor versi. Jika yang diprioritaskan adalah python 3.8, maka yang versi lain nama aplikasinya dapat diubah, misal:
Di direktori instalasi "Python39"
python.exe -> python39.exeDi direktori instalasi "Python310"
python.exe -> python310.exe
Untuk selanjutnya, kita cukup memanggil dengan python39 atau python310 jika ingin memilih versi selain python 3.8. Dan untuk mengakses aplikasi pip, khusus versi 3.9 dan 3.10, kita tidak bisa lagi sekedar dengan menulis perintah ‘pip’. Tapi harus disertakan nama aplikasi python-nya. Misalkan untuk melakukan instalasi paket (di luar venv) sesuai versi python adalah:
python39 -m pip install nama_paket
python310 -m pip install nama_paket
2. Tips berikutnya adalah mengkases cepat venv (dengan versi python berapapun) melalui file batch (.bat).
- Siapkan folder khusus untuk menyimpan file batch, misalnya: “D:\PythonKu\#bat\”.
- Buka aplikasi text editor (notepad, dan sejenisnya), isi dengan:
start D:\PythonKu\#venv_py39\WebApps\Scripts\activate
Kode tersebut bertujuan untuk membuka command prompt dan mengeksekusi perintah yang mengaktifkan venv WebApps yang sudah dibuat di Python 3.9. Silakan sesuaikan sesuai dengan alamat direktori venv dan nama venv yang sudah dimiliki.
- Berikutnya simpan file tersebut dengan nama yang mudah diingat, misal dalam kasus di atas adalah: py39_WebApps.bat (nama yang mewakili nama venv dan versi python yang dipilih.)
- File .bat ini dapat dibuat sejumlah venv yang dimiliki sesuai dengan versi python masing-masing.
- Terakhir, buat shortcut dari file .bat tersebut, dan kirim ke Desktop.
Demikian cerita pengalaman kenapa dan bagaimana cara melakukan instalasi python dengan versi yang berbeda-beda. Semoga bermanfaat.