Python

Panduan Belajar Python: Virtual Environment Python

Panduan ini untuk siapa

  • Pemula yang sudah memasang Python dan ingin setup project yang bersih serta andal
  • Pembelajar yang bingung karena konflik package antar project Python
  • Developer yang ingin environment reproducible sebelum membangun aplikasi nyata

Apa yang akan Anda pelajari

  • Mengapa virtual environment penting untuk isolasi dependency dan reproducibility
  • Cara membuat, mengaktifkan, dan menonaktifkan environment venv di Windows, Linux, dan macOS
  • Cara memasang package ke environment yang benar menggunakan python -m pip
  • Cara freeze dan restore dependency untuk kolaborasi tim
  • Kesalahan virtual environment yang umum dan perbaikannya

Mengapa topik ini penting

Tanpa virtual environment, package Python dari satu project bisa merusak project lain. Ini sering terjadi saat Anda meng-upgrade library secara global, lalu project lama tiba-tiba berhenti berjalan. Pemula sering mengalaminya dan mengira ada kesalahan coding, padahal masalah utamanya ada pada manajemen environment.

Virtual environment menyelesaikan masalah itu dengan mengisolasi dependency tiap project. Ini juga membuat project reproducible: Anda bisa membagikan daftar dependency dan membuat ulang setup yang sama di mesin lain. Ini adalah workflow profesional inti di Python.

Konsep inti

Isolasi dependency

Isolasi dependency berarti tiap project punya kumpulan package dan versi sendiri. System Python Anda tetap bersih, sementara setiap project bisa aman memakai versi library berbeda.

Contoh skenario:

  • Project A butuh requests==2.31.0
  • Project B butuh requests==2.25.1

Tanpa virtual environment, kebutuhan ini bentrok. Dengan virtual environment, keduanya bisa berjalan mandiri.

Apa yang dibuat venv dan cara kerja aktivasi

venv adalah tool environment bawaan Python. Saat Anda membuatnya, Python menghasilkan folder berisi:

  • Interpreter lokal
  • pip lokal
  • Direktori site-packages lokal

Aktivasi mengubah konteks shell sehingga python dan pip mengarah ke environment lokal tersebut.

Buat environment bernama .venv:

python -m venv .venv

Setelah aktivasi, instalasi package akan terisolasi ke project ini.

Reproducibility dengan requirements file

Reproducibility berarti developer lain (atau diri Anda di masa depan) bisa membuat ulang environment yang sama.

Dua command inti:

python -m pip freeze > requirements.txt
python -m pip install -r requirements.txt

Pola ini sederhana dan kuat untuk kolaborasi, pipeline CI, serta persiapan deployment.

Perbandingan cepat: venv vs virtualenv vs Conda-style envs

| Tool | Included with Python | Speed | Typical use case | |—|—|—|—| | venv | Yes | Good | Pilihan default untuk kebanyakan project | | virtualenv | No (install separately) | Often very fast | Workflow lama dan opsi lanjutan | | Conda env | No (Conda ecosystem) | Good | Stack data science dengan binary non-Python |

Jika Anda baru mulai, gunakan venv terlebih dahulu. Pindah ke tool lain hanya saat constraint project memang menuntut.

Panduan langkah demi langkah

Langkah 1 — Buat folder project dan virtual environment

Buat lalu masuk ke direktori project terlebih dahulu.

mkdir my-python-project
cd my-python-project
python -m venv .venv

Jika python tidak bekerja, coba python3 (Linux/macOS) atau py -m venv .venv (Windows).

Langkah 2 — Aktifkan environment sesuai OS

Gunakan command aktivasi yang tepat untuk shell Anda.

Windows (PowerShell):

.venv\Scripts\Activate.ps1

Windows (Command Prompt):

.venv\Scripts\activate.bat

Linux/macOS (bash/zsh):

source .venv/bin/activate

Anda akan melihat (.venv) pada prompt setelah aktivasi.

Langkah 3 — Instal package dan verifikasi isolasi

Pasang satu package dan cek lokasi instalasinya.

python -m pip install requests
python -m pip show requests

Cek path interpreter:

python -c "import sys; print(sys.executable)"

Path yang tercetak harus mengarah ke dalam .venv, menandakan isolasi aktif.

Contoh praktis

Contoh 1 — Memulai workflow project yang bersih

Gunakan urutan minimal ini setiap kali membuat project baru:

mkdir weather-app
cd weather-app
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install requests
python -m pip freeze > requirements.txt

Expected output (sample snippets):

Successfully installed requests-2.xx.x

requirements.txt (sample):

requests==2.xx.x
charset-normalizer==...
idna==...
urllib3==...
certifi==...

Catatan: di Windows PowerShell, ganti command aktivasi dengan .venv\Scripts\Activate.ps1.

Contoh 2 — Deactivate dan reactivate dengan benar

Saat selesai coding, keluar dari environment:

deactivate

Nanti, kembali ke project dan aktifkan lagi:

cd weather-app
source .venv/bin/activate
python -m pip list

Expected result:

  • Prompt menampilkan (.venv) lagi
  • Package yang terinstal pada project itu langsung tersedia

Ini adalah rutinitas harian yang akan Anda ulang di banyak project Python.

Kesalahan umum dan cara menghindarinya

  • Menginstal package sebelum aktivasi -> Aktivasi dulu, lalu jalankan python -m pip install ....
  • Tidak sengaja memakai pip global -> Utamakan python -m pip agar pip cocok dengan interpreter aktif.
  • Meng-commit .venv ke Git -> Tambahkan .venv/ ke .gitignore; commit requirements.txt sebagai gantinya.
  • Lupa interpreter mana yang dipakai VS Code -> Pilih interpreter .venv di editor Anda untuk setiap project.
  • Kena error execution policy PowerShell -> Gunakan Set-ExecutionPolicy -Scope CurrentUser RemoteSigned (jika diizinkan) atau aktivasi lewat Command Prompt.

Latihan cepat

  • Buat folder bernama practice-venv, lalu buat dan aktifkan .venv di dalamnya.
  • Instal requests, lalu verifikasi dengan python -m pip show requests.
  • Freeze dependency ke requirements.txt, deactivate, reactivate, lalu jalankan python -m pip list.

Ringkasan utama

  • Virtual environment mencegah konflik package antar project.
  • venv sudah bawaan Python dan sebaiknya jadi tool awal default Anda.
  • Aktivasi bergantung shell, tetapi workflow-nya sama di setiap OS.
  • python -m pip adalah pola instalasi package paling aman.
  • requirements.txt membantu Anda mereproduksi environment secara andal.

Langkah berikutnya

Lanjut ke [04. Pelajari Dasar-Dasar](./04-learn-the-basics-ID.md). Di panduan berikutnya, Anda akan membangun skill inti Python: sintaks, tipe data, conditional, loop, function, dan error handling.

No Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.