# Python knihovny, pip a virtuální prostředí (venv) ## 📚 Co jsou Python knihovny? Python knihovny (balíčky) jsou hotové kolekce funkcí a nástrojů, které můžeme použít ve svých programech. Místo psaní všeho od nuly můžeme využít práci jiných programátorů. **Příklady:** - `termcolor` - barevný text v terminálu - `matplotlib` - tvorba grafů a vizualizací - `numpy` - práce s čísly a matematické operace - `requests` - stahování dat z internetu - `pygame` - tvorba her ## 🔧 Co je pip? **pip** = Package Installer for Python Je to nástroj, který umožňuje: - ✅ Stahovat knihovny z internetu (z [PyPI.org](https://pypi.org)) - ✅ Instalovat je do Pythonu - ✅ Spravovat nainstalované knihovny ## 🌐 Co je virtuální prostředí (venv)? Virtuální prostředí je **izolovaná kopie Pythonu** pro jeden konkrétní projekt. ### Proč to používat? **Problém:** Když nainstalujeme knihovnu globálně (normálně), ovlivní to všechny Python projekty na počítači. **Řešení:** Virtuální prostředí vytvoří samostatný prostor pro každý projekt. **Výhody:** - Každý projekt má své vlastní knihovny - Nestane se, že jedna verze knihovny pokazí jiný projekt - Lze snadno sdílet seznam potřebných knihoven ## 🚀 Jak to funguje v praxi? ### 1. Vytvoření virtuálního prostředí ```cmd python -m venv .venv ``` Vytvoří se složka `.venv` s kopií Pythonu pro tento projekt. ### 2. Aktivace virtuálního prostředí ```cmd .venv\Scripts\activate ``` Po aktivaci uvidíte `(.venv)` před příkazovou řádkou. To znamená, že jste ve virtuálním prostředí. ### 3. Instalace knihoven ```cmd pip install termcolor pip install matplotlib numpy ``` ### 4. Použití v kódu ```python import termcolor print(termcolor.colored("Hello", "red")) ``` ### 5. Deaktivace (když končíte práci) ```cmd deactivate ``` ## 💡 Příklady z hodiny ### Příklad 1: Barevný text (18.py) ```python #pip install termcolor import termcolor print(termcolor.colored("Hello ","red"), termcolor.colored("World!","green")) ``` ### Příklad 2: Graf (18a.py) ```python #pip install matplotlib numpy import matplotlib.pyplot as plt import numpy as np xpoints = np.array([1, 2, 6, 8, 12]) ypoints = np.array([3, 8, 1, 10, 14]) plt.plot(xpoints, ypoints) plt.show() ``` ## 📋 Další příkazy Pro kompletní seznam příkazů se podívej do souboru [prikazy.md](prikazy.md). ## ⚠️ Časté chyby ### "pip není rozpoznán jako příkaz" - Řešení: Python není správně nainstalován nebo není v PATH - Zkus: `python -m pip install ` ### "ModuleNotFoundError: No module named 'termcolor'" - Řešení: Knihovna není nainstalovaná - Zkus: `pip install termcolor` - Zkontroluj: Máš aktivované virtuální prostředí? ### Virtuální prostředí nefunguje - Ujisti se, že jsi ve správné složce projektu - Zkontroluj, že existuje složka `.venv` - Aktivuj znovu: `.venv\Scripts\activate` ## 🎯 Shrnutí - co si pamatovat 1. **Knihovny** = hotový kód od jiných programátorů 2. **pip** = nástroj na stahování knihoven 3. **venv** = izolované prostředí pro projekt 4. Vždy aktivuj venv před instalací knihoven! 5. V kódu musíš knihovnu importovat: `import nazev_knihovny` ## 🔗 Užitečné odkazy - [PyPI.org](https://pypi.org) - repozitář všech Python knihoven - [prikazy.md](prikazy.md) - přehled všech příkazů - [Python dokumentace - venv](https://docs.python.org/3/library/venv.html) --- **Otázky?** Zeptej se na další hodině! 😊