В этом руководстве мы узнаем, как использовать 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 (официальная документация)