Python Modules
Virtual Environment

Python Virtual Environment (venv)

Apa itu Virtual Environment?

Virtual Environment (venv) adalah alat untuk membuat lingkungan Python yang terisolasi. Setiap lingkungan virtual memiliki instalasi Python sendiri dengan packages dan dependencies yang terpisah.

1. Membuat Virtual Environment

# Windows
python -m venv nama_environment
 
# Linux/Mac
python3 -m venv nama_environment
 
# Contoh
python -m venv myproject_env

2. Mengaktifkan Virtual Environment

Windows

# Command Prompt
nama_environment\Scripts\activate
 
# PowerShell
.\nama_environment\Scripts\Activate.ps1
 
# Contoh
myproject_env\Scripts\activate

Linux/Mac

source nama_environment/bin/activate
 
# Contoh
source myproject_env/bin/activate

3. Menonaktifkan Virtual Environment

deactivate

4. Mengelola Packages

Menginstal Package

# Menginstal package tertentu
pip install nama_package
 
# Contoh
pip install requests

Melihat Daftar Package yang Terinstal

pip list

Membuat Requirements File

pip freeze > requirements.txt

Menginstal dari Requirements File

pip install -r requirements.txt

5. Struktur Proyek Umum

proyek/

├── myproject_env/     # Virtual environment
│   ├── Lib/
│   ├── Scripts/
│   └── pyvenv.cfg

├── src/              # Source code
│   ├── __init__.py
│   └── main.py

├── tests/           # Unit tests
│   └── test_main.py

├── requirements.txt  # Dependencies
└── README.md        # Dokumentasi

Best Practices

1. Selalu Gunakan Virtual Environment

# Buat virtual environment di awal proyek
python -m venv venv
 
# Aktifkan sebelum mulai bekerja
venv\Scripts\activate  # Windows
source venv/bin/activate  # Linux/Mac

2. Kelola Dependencies dengan Baik

# Catat semua dependencies
pip freeze > requirements.txt
 
# Saat berbagi proyek, instal dependencies
pip install -r requirements.txt

3. Pisahkan Development dan Production Dependencies

# requirements.txt (production)
flask==2.0.1
requests==2.26.0
 
# requirements-dev.txt (development)
-r requirements.txt
pytest==6.2.5
black==21.9b0

4. Gunakan .gitignore

# .gitignore
venv/
__pycache__/
*.pyc

Perintah Tambahan yang Berguna

Update pip

# Di dalam virtual environment
python -m pip install --upgrade pip

Menginstal Package Versi Spesifik

pip install requests==2.26.0

Menghapus Package

pip uninstall nama_package

Mencari Package

pip search nama_package

Tips Penting:

  • Selalu aktifkan virtual environment sebelum bekerja pada proyek
  • Jangan lupa memperbarui requirements.txt saat menambah/menghapus package
  • Gunakan nama virtual environment yang konsisten (misalnya 'venv')
  • Jangan commit virtual environment ke version control
  • Simpan versi spesifik package di requirements.txt

Catatan Keamanan:

  • Periksa keamanan package sebelum menginstal
  • Perbarui package secara berkala untuk mendapatkan patch keamanan
  • Hindari menginstal package dari sumber yang tidak terpercaya

Virtual environment sangat penting untuk:

  • Mengisolasi dependencies antar proyek
  • Menghindari konflik versi package
  • Memudahkan sharing proyek
  • Menjaga konsistensi environment development

Dengan menggunakan virtual environment, Anda dapat memastikan proyek Python Anda berjalan konsisten di berbagai mesin dan lingkungan pengembangan.