Balíčky, pip a virtuální prostředí

Kromě standardní knihovny, kterou jsme si ukázali na 8. cvičení, existuje repozitář balíčků PyPI.

Když chceme balíček nainstalovat, můžeme použít nástroj pip. Například příkaz pip install numpy by měl nainstalovat balíček numpy (pro celý počítač). Pokud by příkaz nefungoval (hlásí vám chybu, že pip neexistuje), je možné ho spustit ještě přes interpret Pythonu: python3 -m pip install numpy, případně py -m pip install numpy (pouze Windows). Pokud by vám to hlásilo, že nemáte dostatečná práva (např. na labovém počítači), přidejte ještě --user (tím se to instaluje pouze pro aktuálního uživatele).

Virtuální prostředí

Modul venv: dokumentace, podrobnější návod

Vytvoření virtuálního prostředí

Windows: py -m venv .venv
Linux/macOS: python3 -m venv .venv

Vytvoří se složka .venv.

Poznámka: je vhodné složku .venv ignorovat v Gitu (doporučený .gitignore to dělá).

Spuštění virtuálního prostředí

Windows CMD: .venv\Scripts\Activate.bat
Windows PowerShell: &powershell -ExecutionPolicy bypass, pak .venv/Scripts/Activate.ps1
Linux/macOS: source .venv/bin/activate

Když je virtuální prostředí aktivní, objevuje se na začátku řádku terminálu: (.venv)

Když ho budu potřebovat vypnout, tak deactivate

Instalace balíčku do virtuálního prostředí

Zase pomocí pip, akorát si dáme pozor, abychom ho spustili uvnitř virtuálního prostředí: pip install numpy (případně python3 -m pip install numpy).

Soubor requirements.txt

Pokud víte, že váš projekt potřebuje několik různých knihoven, je fajn vytvořit soubor requirements.txt se seznamem všech potřebných knihoven. Pak se dá snadno nainstalovat všechny najednou: pip install -r requirements.txt

Úlohy na procvičení

Úlohy na procvičení najdete na stránce Algoritmizace.

Učební výstupy

Učební výstupy podávají zhuštěný souhrn základních konceptů a dovedností, které byste měli umět vysvětlit a/nebo použít po každém cvičení.

  • umět reprezentovat graf v programu (seznam sousedů, příp. matice sousednosti a další reprezentace)
  • umět implementovat základní grafové algoritmy (BFS, DFS) a použít je pro řešení úloh (hledání nejkratší cesty, komponenty souvislosti, …)