Python pip

V tomto tutoriále sa dozvieme, ako používať pip na inštaláciu a správu balíkov Python.

Čo je pip?

pipje štandardný správca balíkov pre Python. Môžeme použiť pipna 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 pipnáš systém, tento príkaz by nainštaloval numpyknižnicu.

Ako nainštalovať pip?

pipje predinštalovaný na Pythone verzie 3.4 alebo staršej. Môžeme skontrolovať, či pipje nainštalovaný pomocou nasledujúceho príkazu v konzole:

 pip --version 

Ak pipje už v systéme k dispozícii, pipzobrazí 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 pipnainštalovanú z iného dôvodu, postupujte podľa krokov popísaných v tomto odkaze: pip installation

Pomocou pip

pipje program príkazového riadku. Po jeho inštalácii pipje 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). pipumožňuje nám tieto balíčky sťahovať a inštalovať.

Inštalácia základného balíka

installPríkaz použitý na inštaláciu balíčkov pomocou pip. Uveďme si príklad:

Predpokladajme, že chceme nainštalovať requestspopulá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 pipbol použitý s installpríkazom nasledovaným názvom balíka, ktorý chceme nainštalovať ( requests).

Ostatné závislosti páči chardet, urllib3a certifipožaduje v tomto balíčku je tiež inštalovať pip.

Zadanie verzie balíka

Ak pip installsa použije v minimálnej podobe, pipstiahne 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 requestsknižnice 2.11.0 .

Zoznam nainštalovaných balíkov s pip

pip listPrí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 showPrí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 showpríkaz zobrazuje informácie o requestskniž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 requestskniž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 pippomocou pip uninstallpríkazu.

Predpokladajme, že chceme odstrániť requestskniž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, requestsbalí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)

Zaujímavé články...