DevToolBoxGRATIS
Blog

Panduan Lingkungan Virtual Python: venv, conda, pipenv, dan poetry

10 menitoleh DevToolBox

Lingkungan virtual adalah dasar manajemen dependensi Python. Panduan ini mencakup empat alat utama: venv, conda, pipenv, dan Poetry.

Mengapa Lingkungan Virtual Penting

Setiap proyek Python memiliki dependensinya sendiri dengan persyaratan versi tertentu. Lingkungan virtual menyelesaikan ini dengan membuat instalasi Python yang terisolasi per proyek.

venv: Pustaka Standar Bawaan

venv disertakan dengan Python 3.3+ dan merupakan opsi paling sederhana.

# venv — Built-in (Python 3.3+)

# Create a virtual environment
python -m venv .venv

# Activate (macOS/Linux)
source .venv/bin/activate

# Activate (Windows)
.venv\Scripts\activate

# Install packages
pip install django requests

# Save dependencies
pip freeze > requirements.txt

# Install from requirements.txt
pip install -r requirements.txt

# Deactivate
deactivate

# Delete the environment
rm -rf .venv

# Recommended: add .venv to .gitignore
echo ".venv" >> .gitignore

Poetry: Manajemen Dependensi Modern

Poetry adalah manajer dependensi Python paling modern dan lengkap.

# Poetry — Modern Dependency Management (Recommended 2026)

# Install Poetry
curl -sSL https://install.python-poetry.org | python3 -

# Create a new project
poetry new my-project
cd my-project

# Add dependencies
poetry add django
poetry add --group dev pytest black ruff

# Install all dependencies (from poetry.lock)
poetry install

# Run commands in the virtual environment
poetry run python manage.py runserver
poetry run pytest

# Open a shell in the virtual environment
poetry shell

# Update dependencies
poetry update

# Export to requirements.txt (for compatibility)
poetry export -f requirements.txt --output requirements.txt

# Build and publish a package
poetry build
poetry publish

# Show dependency tree
poetry show --tree

# pyproject.toml (auto-generated)
# [tool.poetry]
# name = "my-project"
# version = "0.1.0"
# description = ""
# [tool.poetry.dependencies]
# python = "^>=3.11"
# django = "^>=5.0"
# [tool.poetry.group.dev.dependencies]
# pytest = "^>=8.0"

conda: Andalan Data Science

conda adalah manajer paket lengkap yang dapat menginstal dependensi non-Python.

# conda — Data Science / ML (Anaconda/Miniconda)

# Install Miniconda (minimal)
# https://docs.conda.io/projects/miniconda/

# Create environment with specific Python version
conda create -n myproject python=3.11

# Activate environment
conda activate myproject

# Install packages (conda packages first)
conda install numpy pandas scikit-learn matplotlib

# Install packages not in conda
pip install some-pytorch-extension

# Export environment
conda env export > environment.yml

# Create from environment.yml
conda env create -f environment.yml

# List environments
conda env list

# Deactivate
conda deactivate

# Remove environment
conda env remove -n myproject

# Update conda
conda update conda

# environment.yml example:
# name: myproject
# channels:
#   - conda-forge
#   - defaults
# dependencies:
#   - python=3.11
#   - numpy=1.26
#   - pandas=2.1
#   - pip:
#     - custom-package==1.0

Perbandingan Alat

Pemilihan alat yang tepat tergantung pada kasus penggunaan Anda.

Tool        Installation  Lockfile  Non-Python  Build/Publish  Best For
------------------------------------------------------------------------
venv        Built-in      No        No          No             Simple scripts, learning
pipenv      pip install   Yes       No          No             Legacy projects
Poetry      curl install  Yes       No          Yes            General apps, libraries
conda       Installer     Yes       Yes         No             Data science, ML, AI
uv          cargo/pip     Yes       No          Yes            Fast pip replacement (2026)

Pertanyaan yang Sering Diajukan

Alat mana yang harus digunakan di 2026?

Untuk pengembangan Python umum gunakan Poetry. Untuk data science gunakan conda.

Perbedaan pip dan conda?

pip hanya menginstal dari PyPI. conda dapat menginstal paket non-Python.

Bisakah saya menggunakan pip dalam lingkungan conda?

Ya, tapi hati-hati. Mencampur pip dan conda terkadang dapat menyebabkan konflik.

Bagaimana berbagi lingkungan dengan developer lain?

Dengan Poetry: commit pyproject.toml dan poetry.lock. Dengan pip: requirements.txt. Dengan conda: environment.yml.

Alat Terkait

𝕏 Twitterin LinkedIn
Apakah ini membantu?

Tetap Update

Dapatkan tips dev mingguan dan tool baru.

Tanpa spam. Berhenti kapan saja.

Coba Alat Terkait

{ }JSON Formatter

Artikel Terkait

Panduan Lengkap Python Type Hints: mypy, Protocols, dan Validasi Runtime

Kuasai type hints Python 2026: mypy, Protocols dan validasi runtime dengan Pydantic.

FastAPI Tutorial: Bangun REST API dengan Python 2026

Tutorial FastAPI lengkap: setup, routing, validasi, autentikasi dan deployment.

Decorator Python Dijelaskan: Dari Dasar hingga Lanjutan

Kuasai decorator Python: fungsi, kelas, argumen, functools.wraps, dan pola praktis.