Открыть сервисСервис

Установка пакетного менеджера pip

pip — пакетный менеджер для языка программирования Python, служащий для установки и управления сторонними библиотеками из реестра PyPI (Python Package Index). По умолчанию pip входит в состав дистрибутивов Python, начиная с версии 3.4 для CPython и 2.7.9, однако в ряде системных сборок (например, в дебиановских и убунтовских пакетах python3-pip) он поставляется отдельно, а в минимальных контейнерных образах может отсутствовать вовсе. Установка pip выполняется штатными средствами Python или средствами операционной системы.

Способы установки

Штатный установщик get-pip.py

Основной кроссплатформенный способ — использование официального скрипта get-pip.py, который размещён в репозитории проекта pypa/pip на GitHub и поддерживается командой Packaging Python (PyPA). Скрипт скачивается через curl или wget и запускается интерпретатором Python:

`` curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py ``

На Windows команда выглядит аналогично, но с использованием Invoke-WebRequest в PowerShell или браузера. Скрипт автоматически определяет версию Python, устанавливает pip и, при наличии прав, добавляет исполняемый файл в каталог /usr/local/bin (Unix) или в Scripts каталога Python (Windows). Для систем с несколькими версиями Python используется привязка к конкретному интерпретатору: python3.11 get-pip.py.

Модуль ensurepip

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

`` python3 -m ensurepip --upgrade ``

Модуль поставляется вместе с интерпретатором и содержит копию дистрибутива pip в формате wheel. ensurepip используется, например, при создании виртуальных окружений через python -m venv, где pip устанавливается автоматически. В некоторых сборках Python (например, в Debian и Ubuntu) ensurepip намеренно отключён, чтобы избежать конфликтов с системным пакетным менеджером.

Системный пакетный менеджер

В дистрибутивах семейства Debian и Ubuntu pip устанавливается через apt:

`` sudo apt update sudo apt install python3-pip ``

В Fedora и CentOS/RHEL используется dnf или yum (python3-pip), в Arch Linux — pacman (python-pip). Такой способ обеспечивает интеграцию с системой и автоматическое разрешение зависимостей, однако версия pip из репозитория дистрибутива может существенно отставать от актуальной версии на PyPI. Для работы с последними версиями пакетов рекомендуется обновлять pip после установки:

`` python3 -m pip install --upgrade pip ``

Windows

На Windows, начиная с установщика Python 3.3 и позже, pip включён в стандартный инсталлятор и устанавливается вместе с интерпретатором (при выборе опции «Add python.exe to PATH»). Если pip отсутствует, используется тот же скрипт get-pip.py или команда py -m ensurepip. Путь к исполняемому файлу обычно: %APPDATA%\Python\PythonXY\Scripts\pip.exe или %LOCALAPPDATA%\Programs\Python\PythonXY\Scripts\pip.exe.

Проверка установки

После установки наличие pip проверяется командой:

`` pip --version ``

или, что предпочтительнее для систем с несколькими версиями Python:

`` python3 -m pip --version ``

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

Виртуальные окружения

Начиная с Python 3.3 стандартным средством изоляции зависимостей является модуль venv. Команда python3 -m venv myenv создаёт каталог с копией интерпретатора и собственным pip, что позволяет устанавливать пакеты без прав администратора и без влияния на системный Python. Активация окружения в Linux и macOS выполняется командой source myenv/bin/activate, в Windows — myenv\Scripts\activate. После активации pip ссылается на копию внутри окружения.

Типовые ошибки

При попытке установки пакетов без виртуального окружения в современных дистрибутивах Linux (Ubuntu 23.04 и новее, Debian 12) возникает ошибка «externally-managed-environment», связанная с политикой PEP 668. Решение — создать виртуальное окружение либо использовать флаг --break-system-packages, который отключает эту проверку.

Ошибка «permission denied» возникает при отсутствии прав на запись в системный каталог Python; устраняется либо запуском с sudo, либо флагом --user, либо переходом на виртуальное окружение. Ошибка «command not found» обычно означает, что каталог Scripts (Windows) или bin (Unix) не добавлен в PATH.

История

pip появился в 2008 году как проект Ian Bicking, изначально назывался «pyinstall» и был создан как альтернатива easy_install из setuptools. С 2011 года проект развивается под эгидой PyPA и входит в состав стандартного дистрибутива CPython. Текущая ветка pip 23+ требует Python 3.7 и новее.

Источники:

  • Документация Python по модулю ensurepip и venv (docs.python.org)
  • Руководство по установке pip, проект pypa/pip (pip.pypa.io)
  • PEP 668: Marking Python environments as externally managed
  • PyPA Packaging User Guide (packaging.python.org)
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru