Obsah
Souborový formát Wheel (.whl)
Přípona `.whl` označuje soubor ve formátu Wheel, což je moderní, standardizovaný balíčkovací formát pro programovací jazyk Python. Slouží k distribuci a instalaci knihoven a modulů z repozitáře PyPI (Python Package Index) pomocí správce balíčků pip.
Proč vznikl formát Wheel?
Před příchodem formátu Wheel se Python balíčky šířily primárně jako zdrojové kódy (tzv. sdist – soubory `.tar.gz`). To znamenalo, že při instalaci každé knihovny obsahující kód v jazyce C nebo C++ (např. NumPy) musel mít uživatel na počítači nainstalovaný kompilační nástroj a kód se pokaždé složitě překládal.
Formát `.whl` je předem zkompilovaný (binární) balíček, což přináší zásadní výhody: * Okamžitá instalace: Odpadá zdlouhavá kompilace na straně uživatele. * Bezpečnost kompilace: Koncový uživatel nepotřebuje mít ve svém systému instalované vývojářské nástroje (compilery). * Rychlejší nasazení: Pip jednoduše rozbalí soubor na správné místo v systému.
Jak struktura Wheel funguje?
Soubor s příponou `.whl` je ve své podstatě obyčejný ZIP archiv, který obsahuje zkompilovaný kód a přesně definovanou strukturu adresářů.
Název každého `.whl` souboru má přísnou strukturu, která říká pipu, pro jaký systém je balíček určen:
`nazev_balicku-verze-python_tag-abi_tag-platforma.whl`
| Část názvu | Popis |
|---|---|
| Název a verze | Jméno knihovny a číslo verze (např. `requests-2.31.0`). |
| Python tag | Pro jakou verzi Pythonu je balíček určen (např. `py3` pro Python 3). |
| ABI tag | Aplikované rozhraní binární úrovně (např. `none` nebo `cp311` pro konkrétní verzi CPythonu). |
| Platforma | Pro jaký operační systém a architekturu je určen (např. `win_amd64` pro Windows 64-bit, nebo `any`, pokud je balíček čistě v Pythonu). |
Druhy Wheel balíčků
1. Pure Python Wheels (`any`): Balíčky obsahující pouze kód v čistém Pythonu. Jsou univerzální a lze je použít na jakémkoliv operačním systému bez ohledu na architekturu procesoru. 2. Platform Wheels (Binární): Balíčky obsahující zkompilované binární soubory (např. `.pyd` pro Windows nebo `.so` pro Linux). Jsou vázané na konkrétní operační systém a verzi Pythonu.
Tip: Když zadáte příkaz `pip install nazev-balicku`, správce pip automaticky vyhledá na PyPI nejvhodnější `.whl` soubor pro váš operační systém a verzi Pythonu, stáhne jej a během vteřiny nainstaluje.
