Пип Python

В этом руководстве мы узнаем, как использовать pip для установки пакетов Python и управления ими.

Что такое пип?

pip- стандартный менеджер пакетов для Python. Мы можем использовать pipдля установки дополнительных пакетов, которых нет в стандартной библиотеке Python. Например,

 pip install numpy 

Если бы мы установили pipв нашей системе, эта команда установила бы numpyбиблиотеку.

Как установить пип?

pipпредустановлен на Python версии 3.4 или более ранней. Мы можем проверить, pipустановлен ли он, используя следующую команду в консоли:

 pip --version 

Если pipона уже доступна в системе, pipотображается соответствующая версия, например:

 pip 19.3.1 из C: Python37 lib site-packages pip (python 3.7) 

Если мы используем старую версию Python или не pipустановили ее по какой-либо другой причине, выполните действия, описанные в этой ссылке: установка pip

Использование pip

pipэто программа командной строки. После его установки pipдобавляется команда, которую можно использовать с командной строкой.

Базовый синтаксис pip:

 pip 

Установка пакетов с помощью pip

Помимо стандартной библиотеки Python, сообщество Python вносит свой вклад в большое количество пакетов, адаптированных для различных сред разработки, инструментов и библиотек.

Большинство этих пакетов официально размещены и публикуются в индексе пакетов Python (PyPI). pipпозволяет нам загружать и устанавливать эти пакеты.

Установка базового пакета

Команда, installиспользуемая для установки пакетов с использованием pip. Возьмем пример:

Предположим, мы хотим установить requestsпопулярную HTTP-библиотеку для Python. Мы можем сделать это с помощью следующей команды.

 pip install requests 

Вывод

Сбор запросов с использованием кешированного https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl https://cardex.com/requests-2.22.0-py2.py3-none-any.whl // сбор файлов .pythonhosted.org / packages / bc / a9 / 01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8 / chardet-3.0.4-py2.py3-none-any.whl Сбор urllib3! = 1.25.0, https = 1.2.15.1, с использованием cached = 1.2.15.1, cached = 1.25.1, cached = //files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl Сбор idna = 2.5 с использованием кэшированных пакетов https://hosted /2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl Сбор сертификатов> = 2017.4.17 Загрузка https: //files.pythonhosted.org / packages / b9 / 63 / df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99 / certifi-2019.11.28-py2.py3-none-any.whl (156kB) Установлены собранные пакеты: chardet, chardet, urll. 3.0.4 idna-2.8 запросы-2.22.0 urllib3-1.25.7

Здесь мы видим, что pipиспользовался с installкомандой, за которой следует имя пакета, который мы хотим установить ( requests).

Все другие зависимости , например chardet, urllib3и certifiдля этого требуется пакет также установлены pip.

Указание версии пакета

Когда pip installиспользуется в минимальной форме, pipзагружает самую последнюю версию пакета.

Иногда только определенная версия совместима с другими программами. Итак, мы можем определить версию пакета следующим образом:

 запросы на установку pip == 2.21.0 

Здесь мы установили версию requestsбиблиотеки 2.11.0 .

Вывод списка установленных пакетов с помощью pip

pip listКоманда может быть использована для получения списка всех доступных пакетов в текущей среде Python.

 pip list 

Вывод

 Версия пакета ---------- ---------- certifi 2019.11.28 chardet 3.0.4 idna 2.8 pip 19.3.1 запросы 2.22.0 setuptools 45.0.0 urllib3 1.25.7 wheel 0.33 .6 

Информация о пакете с pip show

Команда pip showотображает информацию об одном или нескольких установленных пакетах. Давайте посмотрим на пример:

 pip show requests 

Вывод

Название: запросы Версия: 2.22.0 Описание: Python HTTP for Humans. Домашняя страница: http://python-requests.org Автор: Кеннет Райц Электронная почта автора: [email protected] Лицензия: Apache 2.0 Расположение: c: users dell desktop venv lib site-packages Требуется: certifi, chardet, urllib3, idna Требуется:

Здесь showкоманда отображает информацию о requestsбиблиотеке. Обратите внимание на столбцы Requires и Required-by в приведенных выше выходных данных.

Столбец Требуется показывает, какие зависимости requestsтребуются библиотеке. В столбце " Обязательно" показаны пакеты, для которых требуется requests.

Удаление пакета с помощью pip

Мы можем удалить пакет, используя pipс pip uninstallкомандой.

Предположим, мы хотим удалить requestsбиблиотеку из нашей текущей среды Python. Сделать это можно следующим образом:

 pip uninstall requests 

Вывод

Удаление запросов-2.22.0: удалит: C: Python37 lib site-packages requests-2.22.0.dist-info * C: Python37 lib site-packages requests * Продолжить (y / п)? y Успешно удаленные запросы-2.22.0

Как мы видим, requestsпакет удаляется после последнего запроса.

Примечание . Даже если указанный пакет удален, пакеты, которые были установлены как зависимости, не удаляются. В этом случае, зависимость ( chardet, urllib3,и certifi)о requestsбиблиотеке не удаляются.

Если нам нужно удалить также зависимости пакета, мы можем использовать pip showкоманду для просмотра установленных пакетов и удаления их вручную.

Использование файлов требований

Файл, содержащий все имена пакетов, также можно использовать для пакетной установки пакетов Python.

Давайте посмотрим на пример:

Предположим, у нас есть файл requirements.txt со следующими записями:

 numpy подушка pygame 

Мы можем установить все эти пакеты и их зависимости с помощью одной команды в pip.

 pip install -r requirements.txt 

Вывод

 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.

Чтобы узнать больше pip, посетите: Python pip (официальная документация)

Интересные статьи...