Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

Python Virtual Environments

02. 10. 2019 Aktualizováno: 27. 03. 2026 1 min čtení intermediate
Tento článek byl publikován v roce 2019. Některé informace mohou být zastaralé.

Bez virtual environment sdílíte závislosti mezi projekty — a to vede k version conflictům, nedeterministickým buildům a klasickému “works on my machine” problému. Projekt A vyžaduje Django 4.2, projekt B Django 5.0, a bez izolace se navzájem rozbíjejí. Virtual environment vytvoří izolovaný Python s vlastní sadou balíčků pro každý projekt.

venv — vestavěný

python -m venv .venv
source .venv/bin/activate      # Linux/Mac
.venv\Scripts\activate         # Windows
pip install -r requirements.txt
deactivate

Modul venv je součástí standardní knihovny od Pythonu 3.3. Vytvoří adresář .venv s kopií Python interpreteru a prázdným site-packages. Aktivace nastaví PATH tak, aby python a pip ukazovaly na izolované prostředí. Každý projekt má vlastní verze knihoven bez kolizí s globální instalací.

uv — moderní alternativa

# Instalace
curl -LsSf https://astral.sh/uv/install.sh | sh
# Použití
uv venv
uv pip install flask
uv pip compile requirements.in -o requirements.txt

uv od Astral (tvůrci Ruffu) je napsaný v Rustu a nabízí 10-100x rychlejší instalaci balíčků než pip. Podporuje pip-compatible rozhraní, lock soubory a resolution kompatibilní s pip. Pro nové projekty je uv doporučená volba — kombinuje rychlost s kompatibilitou. Poetry a PDM jsou alternativy pro projekty vyžadující pokročilý dependency management s vlastním lock formátem.

Best practices

  • .venv v .gitignore — virtuální prostředí se necommituje
  • requirements.txt nebo pyproject.toml — deklarativní závislosti
  • Lock file (uv.lock, poetry.lock) — reprodukovatelné buildy s přesnými verzemi
  • Jedna env per projekt — nikdy nesdílejte env mezi projekty
  • CI/CD — v pipeline vždy vytvářejte čistou env od nuly

Klíčový takeaway

Vždy používejte virtual environment pro každý Python projekt. uv je nejrychlejší volba pro nové projekty, Poetry nebo PDM pro komplexní projekty s mnoha interními závislostmi.

pythonvenvvirtualenv
Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.