23.06.2025

Команда pip. Гайд по использованию

Каждый разработчик или любой причастный к использованию кода встречался с муторными и повторяющимися задачами, которые просто должны были быть автоматизированы! Одной из таких задач является поиск и подключение библиотек к существующим или новым проектам. Если до этого нам нужно было найти репозиторий с последней или конкретной версией пакета, скачать, проверить электронные цифровые подписи и прописать в проекте и переменных средах, то сейчас есть на это ответ pip!

Что такое pip?

PIP или Python Installs Packages – это пакетный менеджер Python, представляет собой отдельное решение в виде модуля для управления пакетами, библиотеками для проектов. Вызывается простым синтаксисом:

pip install package-label

Автоматизирует все вышеперечисленные задачи, а так же имеет возможность управления виртуальными средами в случае, если на машине развернуто несколько проектов. Рассмотрим работу утилиты на примере облачного сервера от Serverspace, для этого перейдем к созданию сервера, на любой из двух платформ vStack cloud или же VMware cloud. Нажмем на кнопку Создать сервер и выберем конфигурацию, подходящую под наши задачи, затем нажмем кнопку Создать.

Скриншот №1 — Создание сервера

После некоторого времени сервера будут доступны по любому из основных способов подключения, для текущих задач был выбран Debian 12 c ЦОДом в Стамбуле.

Теперь необходимо обновить индексы и пакеты вашим системным пакетным менеджером, для совместимости работы сервисов и утилит:

apt update && apt upgrade -y

Скриншот №2 — Обновление пакетов

В стандартных версиях дистрибутивов Linux python или же python3 это в заранее предустановленный язык с базовыми библиотеками и интерпретатором. Именно он является главным компонентом для работы пакетного менеджера. Проверим его наличие на ОС командой:

python || python3 || python3.8

Скриншот №3 — Проверка версии

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

Должен открыться интерпретатор, который затем можно закрыть командой Ctrl+D. После того, как мы узнали версию Python, теперь необходимо установить подходящий пакет pip, для разных версий – разные требования:

Для установки, выбранной версии укажите нужный пакет в команде вашего пакетного менеджера:

apt install python3-pip

Скриншот №4 — Установка

Скорость скачивания зависит от качества вашего соединения, в случае его разрыва, нужно заново установить пакеты.

Как проверить установлен ли pip?

Вызвать утилиту можно одним из двух удобных способов, либо обратившись напрямую, прописывайте команду в соответствии с установленной версией:

pip3

Либо указав пакетный менеджер в качестве модуля языка, обращаясь к интерпретатору:

python3 -m pip

Скриншот №5 — Проверка работы

На скриншоте так же приведен пример обращения на прямую к интерпретатору, представим, что у вас не работает обычная команда python3 или python. Вместо нее вы можете указать путь к вашему интерпретатору!

Как искать пакеты в pip?

При использовании команды менеджера пакетов pip search может возникнуть ошибка, которая говорит об отключенной функции поиска пакетов. С 2022 года рекомендовано использовать поиск по веб-сайту, причиной этому стал случай с перегрузкой сервиса проектов, при использовании утилиты pip. Которая из-за своего метода поиска на время перегрузила ресурсы, однако, если поиск по веб-сайту не ваш вариант, то остается возможность скачать альтернативную утилиту для поиска проектов:

pip3 install poetry

В дальнейшем, который можно вызвать при помощи команды:

python3 -m poetry

А так же воспользоваться поиском по репозиториям с проектами, указав искомый пакет. В нашем примере, будем искать все с dns:

python3 -m poetry search dns

Скриншот №6 — Поиск пакетов

Для простоты использования создадим alias для нашей команды и заменим его на более короткую версию:

echo "alias poetry='python3 -m poetry'" >> ~/.bashrc

Обязательно применим внесенные изменения в систему:

source ~/.bashrc

Проверить результат изменений можно, при помощи команды poetry, которую мы указали, как alias!

Куда pip устанавливает пакеты?

Пакеты, установленные с помощью pip, обычно устанавливаются в директории, где установлен Python. Они располагаются в поддиректории «site-packages». Если установка происходит в виртуальном окружении, то пакеты устанавливаются в директорию этого виртуального окружения. Снова, они будут находиться в поддиректории «site-packages».

Как исправить ошибку “Error: externally-managed-environment” в Debian?

Если вы все-таки используете дистрибутив Debian, вы можете столкнуться с проблемой, при установке пакетов через pip. Ошибка гласит, что глобальное окружение находится под внешним управлением.

Глобальное окружение – это абстрактное понятие, которое объединяет переменные среды, конфигурации и используемые библиотеки в системе.

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

Можно проигнорировать предупреждение и удалить файл, который блокирует установку пакетов в глобальное окружение:

sudo rm -rf /usr/lib/python3.11/EXTERNALLY-MANAGED

Скриншот №7 — Предупреждение первого решения

Однако можно сразу после установки увидеть предупреждение о возможной некорректной работе менеджера. Для того чтобы вернуть обратно состояние системы – нужно удалить конфликтующие пакеты, которые установлены с помощью PIP.

Использование виртуальных окружений решает проблему более безопасным способом, создавая изолированные окружения Python для каждого проекта или приложения. Это позволяет каждому проекту иметь свои собственные зависимости и версии пакетов, не зависящие от глобального окружения или других проектов. Можно в ручную создавать и активировать, однако, существует автоматизированное решение pipx. Которое будет кроме установки, так же управлять вашими виртуальными окружениями.

apt install pipx

Использование pip в Python упрощает управление пакетами, а виртуальные окружения обеспечивают изоляцию зависимостей, предотвращая конфликты между проектами. Это существенно улучшает управление и разработку программного обеспечения на Python.