pip je instalátor balíčků pro Python. Kromě toho, že umí
nainstalovat balíček, tak umí nainstalovat i všechny jeho závislosti a umí tyto balíčky
spravovat. To znamená, že kromě akce install existuje i akce unistall nebo
list.
Někdy se stane, že při zadání příkazu pip obdržíte pouze hlášení, že příkaz
neexistuje. Buď jste při instalaci nezadali, že se má nainstalovat, nebo
nejsou příslušné cesty obsaženy v proměnné PATH. V obou dvou případech doporučuji
znovu spustit instalátor
a zaškrtnou příslušná políčka.
V Linuxu potom stačí něco jako:
1 | |
Malá poznámka k Linuxu
V Linuxových distribucích bývá Python
většinou už nainstalován — a to dokonce dvakrát. Příkazem python
spustíte Python2 a příkazem python3 spustíte Python3. Obdobně
to platí pro příkaz pip a pip3.
Také se může stát, že modul pip nainstalován je, ale příkaz pip ne.
Pro tyto případy a také pro vysvětlení některých nejasností: místo příkazu pip
můžete zadat delší příkaz
1 | |
případně…
1 | |
celý příkaz může tedy vypadat například takto:
1 | |
namísto…
1 | |
Ještě než se dáte do instalace zvažte zda instalovat pro celý systém, virtuální prostředí nebo jen pro jednoho uživatele?
Dále je dobré si všímat žlutých varovných hlášení a řídit se jejich radou:
Warning
WARNING: You are using pip version 21.2.4; however, version 21.3.1 is available. You should consider upgrading via the ‘/usr/bin/python3.9 -m pip install —upgrade pip’ command.
Hodně zásadní je chybové hlášení, které může vypadat například takto:
Warning
WARNING: The scripts pip, pip3 and pip3.9 are installed in ‘/home/marek/.local/bin’ which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use —no-warn-script-location.
Spustitelný skript se nainstaloval tam, kde ho váš shell nenajde. Je třeba toto místo
přidat do proměnné PATH. Ve Windows to musíte naklikat, v Linuxu je to soubor
~/.profile nebo ~/.zprofile (podle toho, jaký používáte shell).
1 | |
Globální instalace¶
Pokud budete balíček instalovat globálně pro celý systém potřebujete
administrátorská práva. Je třeba se ujistit, že si tím nepokazíte něco, co už
nainstalované máte. Mohlo by se stát, že máte nainstalovanou nějakou aplikaci,
která potřebuje knihovnu verze x.y a vy nyní nainstalujete tu stejnou
knihovnu verze y.z. Na Windows toto většinou (někdy tedy ano) řešit nemusíte,
na Linuxu typicky ano. (Na druhou stranu v Linuxu můžete spoustu knihoven
nainstalovat i bez pipu z repositářů vaší distribuce: apt install
pytho3-flask.)
Takže spustíte si příkazový řádek a jako superuživatel a zadáte něco jako:
1 2 3 | |
Uživatelská instalace¶
K uživatelské instalaci nepotřebujete administrátorská práva, protože balíčky se
instalují do vašeho domovského adresáře (profilu). Na Linuxu je to typicky adresář
~/.local/lib/python3.X pro balíčky a ~/.local/bin pro spustitelné skripty.
1 2 | |
Pokud už je daný balíček nainstalován v systému a vy chcete novější verzi jen
do uživatelského profilu, je třeba to vynutit parametrem -U, který říká, že má
balíček povýšit/instalovat na nejnovější dostupnou verzi.
1 | |
Virtuální prostředí? venv¶
Virtuální prostředí umožňuje mít instalaci Pythonu (jakoby) oddělenou od instalace v systému. Pro každý projekt si vytvoříte vlastní virtuální prostředí a do něj instalujete potřebné balíčky v potřebné verzi. Ostatní systém a ostatní balíčky si toho vůbec nevšimnou.
Vytvoření¶
Nejprve je třeba virtuální prostředí vytvořit. Např. do adresáře .venv-projekt1:
1 | |
Aktivace¶
Před začátkem práce je třeba vždy prostředí aktivovat.
V Linuxu:
1 | |
Ve Windows
1 | |
Práce¶
Prostředí je aktivováno a pokud tu pustíte Python bude vidět jen to, co je
zahrnuto v tomto virtuálním prostředí. Pokud pustíte pip, bude instalovat do
tohoto prostředí.
1 2 | |
Deaktivace¶
1 | |
pipx - izolovaná instalace aplikací¶
pipx je nástroj pro instalaci a spouštění Python aplikací v
izolovaných prostředích. Na kombinuje pip a venv aby,
aby umožnil jednoduše spravovat samostatně zabalené nástroje i s jejich závislostmi.
Výhody pipx¶
- Automatická izolace: Každá aplikace má vlastní virtuální prostředí, takže nedochází ke konfliktům závislostí
- Snadné spuštění: Spustitelné soubory jsou automaticky dostupné v PATH, není nutné aktivovat prostředí
- Jednoduchost: Není třeba ručně vytvářet a spravovat virtuální prostředí
- Bezpečnost: Aplikace jsou izolovány od systémového Pythonu i od sebe navzájem
- Přehlednost: Snadná správa nainstalovaných aplikací pomocí
pipx list
Instalace pipx¶
V Linuxu:
1 2 | |
nebo pomocí pip:
1 2 | |
Ve Windows (pokud máte pip):
1 2 | |
Použití pipx¶
Instalace aplikace (například black, flake8, pytest):
1 2 3 | |
Spuštění aplikace bez instalace (jednorázově):
1 | |
Seznam nainstalovaných aplikací:
1 | |
Aktualizace aplikace:
1 2 | |
Odinstalace:
1 | |
pipx vs. pip¶
- pipx: Pro instalaci CLI nástrojů a samostatných aplikací (black, flake8, pylint atd.)
- pip + venv: Pro instalaci knihoven potřebných pro váš projekt (flask, django, requests, numpy, atd.)
- pip —user: Pokud potřebujete knihovnu dostupnou globálně pro vašeho uživatele
Aktualizace Balíčků¶
Aktualizace balíčků na nejnovější dostupnou verzi provedete parametrem -U.
1 2 | |
nebo
1 2 | |