V tomto tutoriále sa dozvieme, ako používať pip na inštaláciu a správu balíkov Python.
Čo je pip?
pip
je štandardný správca balíkov pre Python. Môžeme použiť pip
na inštaláciu ďalších balíkov, ktoré nie sú k dispozícii v štandardnej knižnici Pythonu. Napríklad,
pip install numpy
Keby sme si nainštalovali pip
náš systém, tento príkaz by nainštaloval numpy
knižnicu.
Ako nainštalovať pip?
pip
je predinštalovaný na Pythone verzie 3.4 alebo staršej. Môžeme skontrolovať, či pip
je nainštalovaný pomocou nasledujúceho príkazu v konzole:
pip --version
Ak pip
je už v systéme k dispozícii, pip
zobrazí sa príslušná verzia, napríklad:
pip 19.3.1 z C: Python37 lib site-packages pip (python 3.7)
Ak používame staršiu verziu Pythonu alebo ju nemáme pip
nainštalovanú z iného dôvodu, postupujte podľa krokov popísaných v tomto odkaze: pip installation
Pomocou pip
pip
je program príkazového riadku. Po jeho inštalácii pip
je pridaný príkaz, ktorý je možné použiť s príkazovým riadkom.
Základná syntax pipu je:
pip
Inštalácia balíkov s pipom
Okrem štandardnej knižnice Python prispieva komunita Python k rozsiahlemu množstvu balíkov prispôsobených pre rôzne vývojové rámce, nástroje a knižnice.
Väčšina z týchto balíkov je oficiálne hostená a zverejnená v indexe balíkov Python (PyPI). pip
umožňuje nám tieto balíčky sťahovať a inštalovať.
Inštalácia základného balíka
install
Príkaz použitý na inštaláciu balíčkov pomocou pip
. Uveďme si príklad:
Predpokladajme, že chceme nainštalovať requests
populárnu knižnicu HTTP pre Python. Dokážeme to pomocou nasledujúceho príkazu.
pip install requests
Výkon
Zhromažďovanie žiadostí pomocou https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl zhromažďovania súborov chardet = 3.0.2 ukladania žiadostí pomocou cache .pythonhosted.org / packages / bc / a9 / 01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8 / chardet-3.0.4-py2.py3-none-any.whl Zhromažďovanie urllib3! = 1.25.0,! = 1.25.1, = 1,25.1, = 1,25.1 //files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl Zhromažďovanie idna = 2.5 Používanie cache https://files.py /2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl Zbieranie certifikátov> = 2017.4.17 Stiahnutie https: //files.pythonhosted.org / packages / b9 / 63 / df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99 / certifi-2019.11.28-py2.py3-none-any.whl (156kB) Inštalácia zhromaždených balíkov: chardet, urllib3, idna- 2019 3.0.4 idna-2.8 požiadavky-2.22.0 urllib3-1.25.7
Tu vidíme, že pip
bol použitý s install
príkazom nasledovaným názvom balíka, ktorý chceme nainštalovať ( requests
).
Ostatné závislosti páči chardet
, urllib3
a certifi
požaduje v tomto balíčku je tiež inštalovať pip
.
Zadanie verzie balíka
Ak pip
install
sa použije v minimálnej podobe, pip
stiahne sa najnovšia verzia balíka.
S inými programami je niekedy kompatibilná iba konkrétna verzia. Verziu balíka teda môžeme definovať nasledujúcim spôsobom:
požiadavky na inštaláciu pipu == 2.21.0
Tu sme nainštalovali verziu requests
knižnice 2.11.0 .
Zoznam nainštalovaných balíkov s pip
pip list
Príkaz je možné použiť pre výpis všetkých dostupných balíkov v aktuálnom Python prostredí.
pip list
Výkon
Verzia balíka ---------- ---------- certifi 2019.11.28 chardet 3.0.4 idna 2.8 pip 19.3.1 požaduje 2.22.0 setuptools 45.0.0 urllib3 1.25.7 koliesko 0.33 .6
Informácie o balíku s pip show
pip show
Príkaz zobrazuje informácie o jednom alebo viacerých nainštalovaných balíčkov. Pozrime sa na príklad:
pip show requests
Výkon
Názov: Žiadosti Verzia: 2.22.0 Zhrnutie: Python HTTP pre ľudí. Domovská stránka: http://python-requests.org Autor: Kenneth Reitz Autorský e-mail: [email protected] Licencia: Apache 2.0 Umiestnenie: c: users dell desktop venv lib site-packages Vyžaduje: certifi, chardet, urllib3, idna Vyžadoval:
Tu show
príkaz zobrazuje informácie o requests
knižnici. Všimnite si stĺpec Vyžaduje a vyžaduje vo vyššie uvedenom výstupe.
Stĺpec Vyžaduje ukazuje, ktoré závislosti requests
knižnica vyžaduje. A Požadované-by stĺpec ukazuje balíčkov, ktoré vyžadujú requests
.
Odinštalovanie balíka pomocou pipu
Môžeme odinštalovať balík pomocou pip
pomocou pip uninstall
príkazu.
Predpokladajme, že chceme odstrániť requests
knižnicu z nášho súčasného prostredia Pythonu. Môžeme to urobiť nasledujúcim spôsobom:
pip uninstall requests
Výkon
Odinštalovanie požiadaviek-2.22.0: Odstráni: C: Python37 lib site-packages requests-2.22.0.dist-info * C: Python37 lib site-packages requests * Pokračovať (y / n)? y Úspešne odinštalované požiadavky-2.22.0
Ako vidíme, requests
balík je po poslednej výzve odstránený.
Note: Even though the specified package is removed, the packages that were installed as dependencies are not removed. In this case, the dependencies (chardet
, urllib3,
and certifi)
of the requests
library aren't uninstalled.
If we need to remove the dependencies of a package as well, we can use the pip show
command to view installed packages and remove them manually.
Using Requirement Files
A file containing all the package names can also be used to install Python packages in batches.
Let's take a look at an example:
Suppose we have a file requirements.txt which has the following entries:
numpy Pillow pygame
We can install all these packages and their dependencies by using a single command in pip
.
pip install -r requirements.txt
Output
Collecting numpy Using cached https://files.pythonhosted.org/packages/a9/38/f6d6d8635d496d6b4ed5d8ca4b9f193d0edc59999c3a63779cbc38aa650f/numpy-1.18.1-cp37-cp37m-win_amd64.whl Collecting Pillow Using cached https://files.pythonhosted.org/packages/88/6b/66f502b5ea615f69433ae1e23ec786b2cdadbe41a5cfb1e1fabb4f9c6ce9/Pillow-7.0.0-cp37-cp37m-win_amd64.whl Collecting pygame Using cached https://files.pythonhosted.org/packages/ed/56/b63ab3724acff69f4080e54c4bc5f55d1fbdeeb19b92b70acf45e88a5908/pygame-1.9.6-cp37-cp37m-win_amd64.whl Installing collected packages: numpy, Pillow, pygame Successfully installed Pillow-7.0.0 numpy-1.18.1 pygame-1.9.6
Here, we have used the same install
command with pip
.
However, the additional argument -r
specifies pip
that we are passing a requirements file rather than a package name.
Creating Requirements File
As an alternative to manually creating the requirements file, pip
offers the freeze
command. Let's look at how to use this command.
Suppose our current Python environment has the following packages. It can be displayed using pip list
.
Package Version ---------- ------- numpy 1.17.0 Pillow 6.1.0 pip 19.3.1 pygame 1.9.6 setuptools 45.0.0 wheel 0.33.6
The packages that don't come preinstalled will Python are listed using the freeze
command.
pip freeze
Output
numpy==1.17.0 Pillow==6.1.0 pygame==1.9.6
The pip freeze
command displays the packages and their version in the format of the requirements file.
So this output can be redirected to create a requirements file using the following command:
pip freeze> requirements.txt
A new requirements.txt file is created in the working directory. It can later be used in other Python environments to install specific versions of packages.
Search packages in pip
The search
command is used to search for packages in the command prompt. Let's look at an example:
pip search pygame
Output
pygame-anisprite (1.0.0) - Animated sprites for PyGame! pygame-ai (0.1.2) - Videogame AI package for PyGame pygame-engine (0.0.6) - Simple pygame game engine. pygame-assets (0.1) - Assets manager for Pygame apps pygame-gui (0.4.2) - A GUI module for pygame 2 pygame-spritesheet (0.2.0) - Python pygame extension that provides SpriteSheet class. pygame-minesweeper (1.0) - Minesweeper game implemented in python using pygame pygame-menu (2.1.0) - A menu for pygame, simple, lightweight and easy to use pygame-plot (0.1) - Quick visualization of data using pygame with a matplotlib style pygame (1.9.6) - Python Game Development…
Here, we have searched for a library called pygame
. All other packages that match the keyword are displayed. This command is helpful for finding related packages.
Ak sa chcete dozvedieť viac pip
, navštívte stránku: Python pip (oficiálna dokumentácia)