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, …)