PIP , správce balíčků pythonu, se používá k instalaci, aktualizaci a odstraňování balíčků napsaných v programovacím jazyce Python. V této příručce budeme diskutovat o tom, jak nainstalovat pip a spravovat balíčky pythonu, jako je instalace, aktualizace a odstranění balíčků pomocí pip. Navíc uvidíme, co je virtuální prostředí, jak ho vytvořit a jak izolovat balíčky ve virtuálním prostředí pomocí nástrojů venv a/nebo virtualenv.
Nainstalujte pip pomocí správců balíčků
V systému Arch Linux a jeho varianty jako Antergos , Manjaro Linux , můžete nainstalovat pip pomocí příkazu:
Python 2:
$ sudo pacman -S python2-pip python2-wheel python2-setuptools
Python 3:
$ sudo pacman -S python-pip python-wheel python-setuptools
Na Fedoře 21:
Python 2:
$ sudo yum upgrade python-setuptools
$ sudo yum install python-pip python-wheel
Python 3:
$ sudo yum install python3 python3-wheel
Fedora 22:
Python 2:
$ sudo dnf upgrade python-setuptools
$ sudo dnf install python-pip python-wheel
Python 3:
$ sudo dnf install python3 python3-wheel
Chcete-li získat novější verze pip, setuptools a wheel pro Python 2, povolte PyPA Copr Repo pomocí příkazu:
$ dnf copr enable pypa/pypa
a poté spusťte:
$ sudo dnf upgrade python-setuptools
$ sudo dnf install python-pip python-wheel
V systému CentOS/RHEL:
Pip and wheel není k dispozici ve výchozích úložištích CentOS a RHEL. Chcete-li nainstalovat pip na CentOS, RHEL, Scientific Linux a další systémy založené na RPM, povolte úložiště EPEL pomocí příkazu:
$ sudo yum install epel-release
A poté spusťte následující příkaz k instalaci pip:
$ sudo yum install python-pip
$ sudo yum install python-wheel
Protože je balíček setup-tools dostupný ve výchozích úložištích, můžete jej nainstalovat pomocí příkazu:
$ sudo yum upgrade python-setuptools
Python 3:
$ sudo yum install python3-pip
openSUSE:
Python 2:
$ sudo zypper install python-pip python-setuptools python-wheel
Python 3:
$ sudo zypper install python3-pip python3-setuptools python3-wheel
Debian/Ubuntu:
Pro Python 2.x :
$ sudo apt-get install python-pip
Pro Python 3.x:
Nahraďte „python“ za „python3“ pro instalaci verze Python 3.x.
$ sudo apt-get install python3-pip
Ve verzi Ubuntu 12.04 pip3 nepřišel zabalený. Pokud používáte Ubuntu 12.04, můžete nainstalovat pip3 pomocí následujících příkazů:
$ sudo apt-get install python3-setuptools
$ sudo easy_install3 pip
Instalace pipu z binárních souborů
Pokud chcete nainstalovat pip z binárních souborů, stačí spustit:
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
Vezměte prosím na vědomí, že get-pip.py také nainstaluje setuptools a kolo. Jak jsem zmínil dříve, některá linuxová distribuce nemají v základních repozitářích kolo. V takových případech možná budete muset přidat nějaké úložiště třetích stran, například EPEL.
pip je již nainstalován, pokud používáte Python 2>=2.7.9 nebo Python 3>=3.4 binární soubory stažené z python.org. Budete však muset upgradovat pip pomocí příkazu:
$ sudo pip install -U pip
Nebo,
$ sudo pip install --upgrade pip
Chcete-li aktualizovat všechny (pip, setuptools, whell), spusťte:
$ sudo pip install --upgrade pip setuptools wheel
Chcete-li zjistit nainstalovanou verzi pip/pip3, spusťte:
$ pip --version
Nebo,
$ pip -V
Ukázkový výstup by byl:
pip 9.0.1 from /usr/lib/python3.6/site-packages (python 3.6)
Vytváření virtuálních prostředí
Před instalací jakýchkoli balíčků pythonu se doporučuje vytvořit virtuální prostředí. Proč potřebujeme vytvářet virtuální prostředí? Můžete se zeptat. Protože „virtuální prostředí“ Pythonu nám umožňuje instalovat balíček Python do izolovaného umístění, místo abychom jej instalovali globálně.
Řekněme, že chcete nainstalovat balíček python, například youtube-dl, který potřebuje verzi 1 LibFoo, ale jiná aplikace vyžaduje verzi 2. Jak můžete obě tyto aplikace používat? Pokud vše nainstalujete do /usr/lib/python2.7/site-packages nebo /usr/lib/python3.6/site-packages (nebo jakékoli standardní umístění vaší platformy), snadno se dostanete do situace, kdy neúmyslně upgradujete aplikaci, která by neměla být upgradována . Abychom tomu zabránili, izolujeme balíčky ve virtuálním prostředí. Všechna virtuální prostředí mají své vlastní instalační adresáře a nedochází k vzájemné interakci ani konfliktu.
Izolovaná prostředí pythonu můžeme vytvořit pomocí dvou modulů, jmenovitě:
- venv,
- virtuální
Pro Python 2.x musíte nainstalovat virtualenv. Chcete-li to provést, spusťte:
$ sudo pip install virtualenv
Pojďme nyní vytvořit virtuální prostředí.
Použití virtualenv:
$ virtualenv <DIR_NAME>
$ source <DIR_NAME>/bin/activate
Pro Python 3.x musíte nainstalovat venv. Na systémech založených na Ubuntu jej můžete nainstalovat pomocí příkazu:
$ sudo apt-get install python3-venv
Nyní vytvořte virtuální prostředí pomocí venv:
$ python3 -m venv <DIR_NAME>
$ source <DIR_NAME>/bin/activate
Jakmile výše uvedený příkaz spustíte, budete okamžitě umístěni do svého virtuálního prostředí.
Chcete-li deaktivovat virtuální prostředí a vrátit se do normálního prostředí, spusťte:
$ deactivate
Správa balíčků Python pomocí Pip
Nyní uvidíme nejběžnější základní použití pipu s příklady.
Chcete-li zobrazit seznam všech příkazů pip a obecných voleb, spusťte:
$ pip
Měli byste vidět výstup něco jako níže.
Chcete-li zjistit, co příkaz install dělá, spusťte:
$ pip install --help
Nejběžnějším použitím pip je instalace z PyPi (Python Package Index) . PyPi je úložiště, které obsahuje všechny balíčky vytvořené komunitou vývojářů v Pythonu.
Instalovat balíčky
Nejprve vytvořte virtuální prostředí, jak je uvedeno níže:
Použití virtualenv:
$ virtualenv MYENV
Nahraďte MYENV svým vlastním jménem.
Pomocí venv:
$ python3 -m venv MYENV
Nakonec jej aktivujte příkazem:
$ source MYENV/bin/activate
Jakmile výše uvedený příkaz spustíte, budete umístěni do svého virtuálního prostředí:
Nyní je čas nainstalovat některé balíčky. Chcete-li nainstalovat balíček, například youtube-dl, spusťte:
$ pip install youtube-dl
Tento příkaz nainstaluje youtube-dl se všemi jeho závislostmi.
Chcete-li nainstalovat konkrétní verzi, spusťte:
$ pip install youtube_dl=2017.12.14
Chcete-li nainstalovat jinou než specifikovanou verzi, spusťte:
$ pip install youtube_dl!=2017.12.14
Všimněte si '!" před symbolem rovná se.
Chcete-li nainstalovat verzi stejnou nebo vyšší než zadaná verze, spusťte:
$ pip install youtube_dl>=2017.12.14
Chcete-li nainstalovat verzi v určitém rozsahu, například větší nebo rovnou jedné verzi a menší než jiné, spusťte:
$ pip install youtube_dl>=2017.12.14, <2017.12.20
Chcete-li nainstalovat verzi, která je „kompatibilní“ s určitou verzí:
$ pip install youtube_dl~=2017.12.14
Stáhnout balíčky
Chcete-li stáhnout balíček se všemi závislostmi (bez jeho instalace), spusťte:
$ pip download youtube-dl
Seznam všech nainstalovaných balíčků
Chcete-li zjistit, které balíčky nainstaloval pip, spusťte:
$ pip freeze
Nebo,
$ pip list
Tyto příkazy zobrazí všechny nainstalované balíčky pomocí pip ve vašem systému.
Vyhledat balíčky
Chcete-li vyhledat konkrétní balíček, například youtube-dl, spusťte:
$ pip search youtube-dl
Tento příkaz vyhledá a zobrazí výsledek, který odpovídá řetězci „youtube-dl“.
Aktualizovat balíčky
Chcete-li vypsat všechny zastaralé balíčky ve formátu jednoduchého tabulkového sloupce, spusťte:
$ pip list --outdated --format=columns
Chcete-li aktualizovat zastaralý balíček, spusťte:
$ pip install --upgrade youtube-dl
Můžeme také uložit všechny balíčky do souboru a aktualizovat je najednou. Nejprve exportujte všechny soubory do souboru:
$ pip freeze > mypackages.txt
Nyní aktualizujte všechny balíčky najednou pomocí příkazu:
$ pip install -r mypackages.txt --upgrade
Nebo,
$ pip install -r mypackages.txt -U
Pokud výše uvedený příkaz z nějakého důvodu nefungoval, použijte k aktualizaci všech balíčků najednou následující příkaz:
$ pip freeze --local | grep -v '^\e' | cut -d = -f 1 | xargs -n1 pip install -U
Exportujte všechny nainstalované balíčky do souboru
Někdy můžete chtít exportovat všechny nainstalované balíčky do souboru a otestovat je v jiném prostředí. Chcete-li to provést, spusťte:
$ pip freeze > MYENV_packages.txt
Nyní deaktivujte aktuální virtuální prostředí:
$ deactivate
a vytvořte nový pomocí příkazů:
$ virtualenv MYENV1
Nahraďte MYENV1 svým vlastním jménem.
Pomocí venv:
$ python3 -m venv MYENV1
Aktivujte nově vytvořené prostředí:
$ source MYENV1/bin/activate
Nyní nainstalujte všechny balíčky, které jsme dříve exportovali.
$ pip install -r MYENV_packages.txt
Chcete-li nainstalovat vše najednou bez zásahu uživatele, spusťte:
$ pip install -r MYENV_packages.txt -y
Podobně můžete odstranit všechny balíčky ze seznamu pomocí příkazu:
$ pip uninstall -r MYENV_packages.txt -y
Zobrazit informace o balíčku
Chcete-li zobrazit podrobnosti o balíčku, spusťte:
$ pip show youtube-dl Name: youtube-dl Version: 2017.12.14 Summary: YouTube video downloader Home-page: https://github.com/rg3/youtube-dl Author: Sergey M. Author-email: [email protected] License: UNKNOWN Location: /home/sk/MYENV/lib/python3.6/site-packages Requires:
Zobrazit závislosti balíčku
Můžeme vizualizovat závislosti všech nainstalovaných balíčků pomocí nástroje "pipdeptree".
Nainstalujte jej pomocí příkazu:
$ pip install pipdeptree
Po instalaci můžete zobrazit strom závislostí pomocí příkazu:
$ pipdeptree
Odinstalujte balíčky
Chcete-li odinstalovat/odebrat nainstalovaný balíček, spusťte:
$ pip uninstall youtube-dl
Chcete-li odinstalovat více balíčků, zadejte je čárkami oddělenými, jak je uvedeno níže:
$ pip uninstall package1, package2
Chcete-li odstranit všechny balíčky python nainstalované pomocí pip, spusťte:
$ pip freeze | xargs pip uninstall -y
Někdy vám pip nedovolí odinstalovat balíčky vlastněné OS. V takových případech můžete odinstalovat všechny balíčky, které nejsou ve vlastnictví OS pomocí příkazu:
$ pip uninstall -y $(pip freeze | sed 's;==.*;;g' | tr '\n' ' ')
Jak jsem zmínil v předchozí části, můžeme všechny nainstalované balíčky uložit do souboru a odinstalovat je ze seznamu pomocí příkazu:
$ pip uninstall -r MYENV_packages.txt -y
V této fázi můžete získat určitou představu o pipu a jeho použití. Další podrobnosti naleznete v oficiální dokumentaci a sekci nápovědy pip spuštěním následujícího příkazu:
$ pip --help
Nebo jen,
$ pip
Doporučené čtení:
- Pipenv – Oficiálně doporučený nástroj pro balení Pythonu
- Pipx – Instalace a spouštění aplikací Pythonu v izolovaných prostředích
A to je zatím vše. Doufám, že to bylo užitečné.