Pengenalan
Apabila kita menulis kod, kebanyakan masanya kita akan menggunakan pakej atau pustaka untuk tujuan tertentu. Misalnya meggunakan pakej Sklearn untuk mesin pembelajaran, Pandas untuk mengendalikan data dan juga pelbagai pakej lain yang ada.
Untuk menggunakan pustaka ini, anda perlu muat turun ia terlebih dahulu. Pakej-pakej tadi akan disimpan terus ke dalam fail dimana pelaksana Python disimpan. Ini bermakna ia disimpan secara global. ๐
Makna global disini adalah sistem yang menjadi panduan atau rujukan bagi keseluruhan komputer.
Namun, bagaimana jika projek yang kita sedang jalankan itu adalah sebuah projek yang menggunakan pakej yang mempunyai versi yang spesifik, sama ada yang lebih rendah (contoh Pandas 1.3.5) atau tinggi (Pandas 1.4.3) berbanding dengan apa yang telah kita muat turun tadi?
Apakah kita perlu menurunkan gred versi pakej itu semata-mata bagi memenuhi kehendak projek yang kita jalankan? Jika kita menurunkan gred pakej tersebut, bagaimana nanti jika kita ada projek yang menggunakan versi pakej yang lebih tinggi? Adakah kita perlu buang dan muat turun semula? ๐ค
Masalah ini sebenarnya mampu diselesaikan dengan persekitaran maya (virtual environment). Dapat dilihat tanpa persekitaran maya, perjalanan projek kita akan menjadi kucar-kacir. Jadi, ayuh berkenalan dengan apa itu persekitaran maya.
Persekitaran Maya
Persekitaran maya adalah satu persekitaran terasing (berbentuk folder); dimana pelaksana Python, pustaka dan skrip berada di dalamnya. Dengan keberadaan folder ini, anda boleh melaksanakan projek tanpa bergantung dengan pelaksana dan fail luar.
Kata kunci penting disini adalah
terasing.
Bayangkan sebuah bekas kosong. Kita letakkan barang-barang di dalamnya. Maka Barang-barang tersebut telah berada dalam lingkungan bekas tersebut dan terhindar daripada perkara-perkara yang tidak diingini.
Begitu juga persekitaran maya.
Persekitaran maya mencipta satu ruang terasing dimana fail Python tersebut hanya tertakluk apa yang ada dalam persekitaran ini sahaja.
Misalnya, jika terdapat Python versi 3.8 dalamnya, pelaksana itu yang digunakan untuk melaksanakan fail py dan bukan pelaksana Python global. Begitu juga dengan pakej dan pustaka. Segala pakej dan pustaka harus dimuat turun dalam persekitaran ini, dan dengan itu tidak menggunakan pakej yang dimuat turun secara global. Ini dapat membantu mengelakkan pencemaran global apabila segalanya tertakluk hanya dalam linkungan persekitaran.
Jadi bagaimana kita mahu mencipta persekitaran?
Mari kita mula mengekod! ๐ฉโ๐ป
Kod
Pertama sekali anda perlu mengetahui asas baris perintah (command line) untuk menggunakan Command Prompt (CMD).
Baris perintahnya adalah:
mkdir
cd
cd ..
Ini asas yang harus diketahui oleh anda setakat ini.
mkdir
: mencipta folder (make directory)
cd
: menukar folder ke hadapan (forward change directory)
cd ..
: menukar folder ke belakang (backward change directory)
Sekarang, pergi ke skrin desktop anda dan cipta folder baru. Namakan folder itu sebagai projek_abc.
Kemudian, buka CMD anda. Boleh cari menggunakan fungsi Search di Taskbar.
Pada CMD tersebut pastikan ia berada dalam laluan (path) D. Kebiasaanya Dekstop berada dalam pemacu D. Tapi ada juga yang berada dalam pemacu C (C drive). Anda perlu semak sendiri dimana Desktop anda tersimpan.
Untuk penulis, Desktop berada dalam pemacu D. Jadi penulis menulis D:
supaya ia dapat menukar daripada pemacu C kepada pemacu D.
Selepas itu, beri arahan cd Desktop
dan tekan Enter. CMD sekarang berada pada Desktop.
Kemudian beri arahan cd projek_abc
. Sekarang CMD berada dalam folder projek_abc.
Sekarang barulah kita boleh mencipta persekitran maya tadi. Cara untuk mencipta persekitaran ini adalah dengan baris perintah berikut
python -m venv venvMyproject
venvMyproject adalah nama persekitaran maya anda. Anda boleh memilih apa-apa nama sepeti venvMain, venvProject mengikut apa yang anda inginkan.
Setelah menekan Enter, anda akan lihat satu folder akan muncul dalam folder projek_abc. Itu bermakna anda telah berjaya mencipta persekitaran tersebut. Terbaik! ๐
Jika anda tekan fail tersebut, anda dapat melihat beberapa fail di dalamnya termasuk Lib. Lib adalah fail untuk penyimpanan pakej atau pustaka yang anda telah muat turun di dalam persekitaran.
Dengan keberadaan folder Lib, boleh memuat turun apa apa pakej dalam persekitaran tanpa masuk campur atau menggangu pakej yang berada di luar persekitaran ini. ๐คฏ
Sekarang, bagaimana kita ingin menggunakan persekitaran ini?
Mari kita pergi ke bahagian seterusnya.
Penggunaan
Muat turun pustaka dalam persekitaran maya
Pertama sekali, buka mana mana IDE kesukaan anda. Untuk permulaan, saya cadangkan IDE yang boleh menggunakan script* dan bukan notebook. Penulis menggunakan IDE Visual Code Studio atau VS Code.
Cipta satu fail py. Kemudian simpan fail tersebut dalam venvMyproject. Sekarang fail py anda telah berada dalam folder venvMyproject. Tetapi persekitaran ini tidak akan dipakai, melainkan setelah anda mengaktifkan persekitaran ini dahulu.
Cara untuk mengaktifkannya mudah sahaja.
Buka CMD dalam terminal VS Code (bahagian terminal). Pastikan CMD anda berada pada direktori venvMyproject. Kemudian tulis baris perintah di bawah;
venvMyproject\Scripts\activate.bat
Setelah anda menekan Enter, anda akan perhatikan pada hujung kiri CMD ada terpapar
(venvMyproject)
yang membawa maksud persekitaran anda telah diaktifkan!
Apabila persekitaran anda telah diaktifkan, anda boleh mula memuat turun pustaka yang anda inginkan. Seperti biasa dengan arahan pip install <library>
.
Nota tambahan: Anda boleh memuat turun pustaka dengan versi spesifik.
Contohnya untuk Pandas versi 1.3.5.
Apa yang dimaksudkan dengan 1.3.5?
1 --> nombor merujuk kepada versi Major
3 --> nombor merujuk kepada versi versi Minor
5 --> nombor merujuk kepada versi versi Patch
Run fail py dalam persekitaran maya
Selain perlu mengaktifkan untuk memuat turun pustaka, anda juga perlu mengaktifkan persekitaran maya ini dalam IDE anda supaya projek anda dapat dilaksanakan dalam persekitaran yang telah dicipta.
Dalam Visual Code Studio, caranya adalah dengan menekan versi Python pada bawah kanan skrin. Anda perlu mencari fail Python.exe dalam folder Scripts; yang berada di dalam folder venvMyproject. Jika telah diaktifkan, ia akan berubah kepada ('vevMyproject':venv).
Apabila persekitaran sudah aktif dalam IDE, barulah fail Python anda akan merujuk kepada komponen yang berada di dalam persekitaran venvMyproject.
Penutup
Persekitaran maya adalah sebuah praktis yang sangat baik sebelum kita memulakan apa-apa projek. Antara kelebihannya adalah:
Konfigurasi sistem terjaga daripada komponen-komponen global.
Mampu menaikkan atau menurunkan versi pakej tanpa memberi kesan pada pustaka global.
Boleh menyenaraikan versi pustaka yang digunakan, supaya jika ada orang lain yang ingin membantu projek ini dapat memuat turun versi pustaka yang sama yang digunakan.
Penulis berharap artikel ini bermanfaat untuk anda dalam meningkatkan pengetahuan dalam bidang pengaturcaraan. Setakat ini sahaja artikel untuk kali ini. Jika anda ada punya soalan, cadangan, atau komen, boleh kemukakan dibahagian bawah. ๐
Salam jumpa, ciao! ๐