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
apt install python3-pip python3-venv

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
python -m pip

případně…

1
python3 -m pip

celý příkaz může tedy vypadat například takto:

1
python3 -m pip install -U --user flask

namísto…

1
pip install -U --user flask

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
PATH=~.local/bin:$PATH

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
pip install flask
pip install pyglet
pip install jmeno_balicku

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
pip install --user flask 
pip install --user pyglet

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
pip install -U --user flask

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
python3 -m venv .venv-projekt1

Aktivace

Před začátkem práce je třeba vždy prostředí aktivovat.

V Linuxu:

1
source .venv-projekt1/bin/activate

Ve Windows

1
.venv-projekt1\Scripts\activate.bat

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
pip install -U pip
pip install flask

Deaktivace

1
deactivate

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
apt install pipx
pipx ensurepath

nebo pomocí pip:

1
2
python3 -m pip install --user pipx
python3 -m pipx ensurepath

Ve Windows (pokud máte pip):

1
2
pip install --user pipx
pipx ensurepath

Použití pipx

Instalace aplikace (například black, flake8, pytest):

1
2
3
pipx install black
pipx install pylint
pipx install yt-dlp

Spuštění aplikace bez instalace (jednorázově):

1
pipx run pycowsay "Hello!"

Seznam nainstalovaných aplikací:

1
pipx list

Aktualizace aplikace:

1
2
pipx upgrade black
pipx upgrade-all

Odinstalace:

1
pipx uninstall black

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
pip install -U pip
pip install -U flask

nebo

1
2
pip install --user -U pip
pip install --user -U pyglet

Související posty