DevToolBoxZA DARMO
Blog

Python Środowiska Wirtualne: venv, conda, pipenv i poetry

10 minby DevToolBox

Wirtualne środowiska to fundament zarządzania zależnościami w Python. Ten przewodnik omawia cztery główne narzędzia: venv, conda, pipenv i Poetry.

Dlaczego wirtualne środowiska są ważne

Każdy projekt Python ma własne zależności z konkretnymi wymaganiami wersji. Wirtualne środowiska rozwiązują to przez tworzenie izolowanych instalacji Python per projekt.

venv: Wbudowana biblioteka standardowa

venv jest dołączony do Python 3.3+ i jest najprostszą opcją.

# 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: Nowoczesne zarządzanie zależnościami

Poetry to najbardziej nowoczesny menedżer zależności Python.

# 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: Potęga dla data science

conda to kompletny menedżer pakietów, który może instalować zależności 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

Porównanie narzędzi

Wybór właściwego narzędzia zależy od przypadku użycia.

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)

Często zadawane pytania

Którego narzędzia użyć w 2026?

Do ogólnego rozwoju Python użyj Poetry. Do data science użyj conda.

Różnica między pip i conda?

pip instaluje tylko z PyPI. conda może instalować pakiety non-Python.

Czy mogę używać pip w środowisku conda?

Tak, ale ostrożnie.

Jak udostępnić środowisko innym?

Z Poetry: pyproject.toml i poetry.lock. Z pip: requirements.txt. Z conda: environment.yml.

Powiązane narzędzia

𝕏 Twitterin LinkedIn
Czy to było pomocne?

Bądź na bieżąco

Otrzymuj cotygodniowe porady i nowe narzędzia.

Bez spamu. Zrezygnuj kiedy chcesz.

Try These Related Tools

{ }JSON Formatter

Related Articles

Kompletny Przewodnik Python Type Hints: mypy, Protocols i Walidacja Runtime

Opanuj type hints Python 2026: mypy, Protocols i walidacja runtime z Pydantic.

FastAPI Tutorial: Budowanie REST API z Python w 2026

Kompletny tutorial FastAPI: konfiguracja, routing, walidacja, uwierzytelnianie i wdrażanie.

Dekoratory Python: Od Podstaw do Zaawansowanych

Opanuj dekoratory Python: funkcje, klasy, argumenty i praktyczne wzorce.