Django-Admin.ru

pip в Python: установка, обновление и основные команды

Что такое pip в Python, как проверить и установить pip, обновить его через python -m pip, и шпаргалка команд: install, uninstall, list, show, freeze.

Редакция Django-Admin.ru
· обновлено · 9 мин чтения

Содержание · 10 разделов
  1. Что такое pip и откуда он берёт пакеты
  2. Как проверить, установлен ли pip
  3. pip или python -m pip
  4. Как установить pip
  5. Через ensurepip
  6. В Windows
  7. В Linux
  8. Как обновить pip
  9. Основные команды pip
  10. install и uninstall
  11. list, show и freeze
  12. Версии пакетов
  13. Ошибки pip
  14. «pip» не является внутренней или внешней командой
  15. No matching distribution found
  16. externally-managed-environment
  17. Permission denied при установке
  18. Частые вопросы
  19. Чем pip отличается от pip3?
  20. Нужно ли устанавливать pip в виртуальное окружение?
  21. Как узнать, куда pip ставит пакеты?
  22. Как установить пакет прямо из GitHub?
  23. Как удалить все установленные пакеты?
  24. Итог

pip — стандартный менеджер пакетов Python: он скачивает библиотеки из каталога PyPI и устанавливает их вместе с зависимостями. С Python 3.4 pip входит в официальный установщик, поэтому чаще всего его не нужно ставить отдельно — достаточно правильно вызвать.

Быстрый ответ:

python -m pip --version                 # проверить, что pip есть
python -m pip install --upgrade pip     # обновить pip
python -m pip install requests          # установить библиотеку

В Windows вместо python можно писать py, в macOS и Linux — python3. Ниже разберём, почему лучше писать python -m pip, как установить pip, если его нет, и основные команды.

Что такое pip и откуда он берёт пакеты

pip — это тоже Python-пакет, только служебный. Он устанавливается отдельно в каждый интерпретатор и в каждое виртуальное окружение. Когда вы выполняете pip install django, pip:

  1. находит пакет django на PyPI (или в другом указанном индексе);
  2. выбирает версию, совместимую с вашим Python и операционной системой;
  3. скачивает готовый архив — wheel (.whl) — или исходники;
  4. устанавливает пакет и его зависимости в папку site-packages текущего интерпретатора.

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

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

python -m pip --version

Пример вывода в Windows:

pip 25.0.1 from C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip (python 3.12)

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

Если Python не найден вообще, сначала разберитесь с установкой — см. как установить Python и как узнать версию Python.

pip или python -m pip

Есть два способа вызвать pip:

pip install requests
python -m pip install requests

Первый запускает исполняемый файл pip (pip.exe в Windows), который первым найдётся в PATH. Второй запускает модуль pip того самого интерпретатора, который вы вызвали командой python. Если python и pip в PATH указывают на разные установки, первый вариант поставит пакет в один Python, а скрипт запустится другим — и вы получите ModuleNotFoundError.

Поэтому вызывайте pip формой python -m pip. Для конкретной версии в Windows удобен лаунчер:

py -m pip install requests        # версия Python по умолчанию
py -3.12 -m pip install requests  # именно Python 3.12

В macOS и Linux аналогично: python3 -m pip или python3.12 -m pip.

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

Через ensurepip

Модуль ensurepip входит в стандартную библиотеку и устанавливает pip, который поставляется вместе с Python:

python -m ensurepip --upgrade
Installing collected packages: pip
Successfully installed pip-25.0.1

После этого обновите pip до свежей версии с PyPI (см. следующий раздел). В Debian и Ubuntu ensurepip для системного Python отключён — там pip ставят пакетом дистрибутива.

В Windows

Официальный установщик с python.org ставит pip по умолчанию. Если при установке вы сняли галочку pip, запустите установщик снова, выберите Modify и отметьте pip — или используйте py -m ensurepip --upgrade.

В Linux

В Debian и Ubuntu pip для системного Python ставится пакетом дистрибутива:

sudo apt install python3-pip

В других дистрибутивах пакет обычно называется так же (python3-pip). Если ни один способ не подходит, pip можно установить скриптом get-pip.py по инструкции из документации pip.

Как обновить pip

python -m pip install --upgrade pip

Короткая форма флага — -U. В Windows команда pip install --upgrade pip (без python -m) не сработает: pip не может перезаписать собственный запущенный pip.exe и подскажет правильный вариант:

ERROR: To modify pip, please run the following command:
C:\projects\shop\.venv\Scripts\python.exe -m pip install --upgrade pip

Сообщение [notice] A new release of pip is available после установки пакетов — напоминание об обновлении; на установку оно не влияет. Обновлять pip в каждом новом окружении — хорошая привычка: в свежих версиях исправляют ошибки и поддерживают новые форматы пакетов.

Основные команды pip

КомандаЧто делает
python -m pip install пакетУстановить пакет и зависимости
python -m pip install -U пакетОбновить пакет до последней версии
python -m pip install -r requirements.txtУстановить всё из файла зависимостей
python -m pip uninstall пакетУдалить пакет (-y — без подтверждения)
python -m pip listВсе установленные пакеты
python -m pip list --outdatedПакеты, для которых есть новые версии
python -m pip show пакетВерсия, путь установки, зависимости пакета
python -m pip freezeСписок пакетов в формате requirements.txt
python -m pip checkПроверить, совместимы ли установленные зависимости
python -m pip cache purgeОчистить кеш скачанных файлов

install и uninstall

python -m pip install requests
python -m pip install django djangorestframework   # несколько пакетов сразу
python -m pip uninstall -y requests

uninstall удаляет только сам пакет — его зависимости (для requests это urllib3, idna, certifi, charset-normalizer) остаются. Подробно сценарии установки — из файла, офлайн, в PyCharm и VS Code — разобраны в статье как установить библиотеку в Python.

list, show и freeze

list показывает таблицу пакетов, --outdated — только устаревшие:

Package  Version Latest Type
-------- ------- ------ -----
pip      25.0.1  26.2.1 wheel
requests 2.31.0  2.34.2 wheel

show нужен, когда важно, куда установлен пакет и от чего он зависит:

Name: requests
Version: 2.31.0
Summary: Python HTTP for Humans.
...
Location: C:\projects\shop\.venv\Lib\site-packages
Requires: certifi, charset-normalizer, idna, urllib3
Required-by:

freeze выводит пакеты с точными версиями — его вывод сохраняют в requirements.txt:

python -m pip freeze > requirements.txt

Сам pip в вывод freeze не попадает.

Версии пакетов

pip понимает спецификаторы версий из стандарта PEP 440. Строку с < или > берите в кавычки, иначе оболочка воспримет символ как перенаправление ввода-вывода:

python -m pip install requests==2.31.0         # точная версия
python -m pip install "requests>=2.31,<3"      # диапазон
python -m pip install "requests~=2.31.0"       # 2.31.x, но не 2.32
python -m pip install "django!=5.0.1"          # любая, кроме указанной

Чтобы посмотреть, какие версии доступны, используйте python -m pip index versions requests (до pip 25.1 команда выводила предупреждение, что она экспериментальная) или страницу пакета на pypi.org. Команда pip search больше не работает: PyPI отключил этот API, и pip отвечает ошибкой PyPI no longer supports 'pip search'.

Ошибки pip

«pip» не является внутренней или внешней командой

В cmd ошибка выглядит так (в английской Windows — 'pip' is not recognized as an internal or external command):

"pip" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

В PowerShell — Имя "pip" не распознано как имя командлета…. Это значит, что папка Scripts с pip.exe не добавлена в PATH — обычно потому, что при установке Python не отметили Add python.exe to PATH. Решения:

  1. Вызывайте pip через интерпретатор: py -m pip install пакет или python -m pip install пакет. Это работает без правки PATH.
  2. Если python тоже не находится, переустановите Python с галочкой Add python.exe to PATH или добавьте в PATH папки ...\Python312\ и ...\Python312\Scripts\ вручную.
  3. Если ошибка в новом терминале после установки — закройте и откройте терминал заново: PATH читается при запуске.

В macOS и Linux аналогичная ошибка — pip: command not found; используйте python3 -m pip.

No matching distribution found

ERROR: Could not find a version that satisfies the requirement cv2 (from versions: none)
ERROR: No matching distribution found for cv2

Причины: опечатка или неверное имя пакета (OpenCV ставится как opencv-python, а импортируется как cv2), нет сборки под вашу версию Python, нет доступа к PyPI. Проверьте имя на pypi.org.

externally-managed-environment

В свежих Debian, Ubuntu и в Python из Homebrew pip отказывается ставить пакеты в системный Python с ошибкой error: externally-managed-environment. Это защита системных утилит (PEP 668). Правильное решение — создать виртуальное окружение и ставить пакеты в него. Для системного Python используйте пакеты дистрибутива (apt install python3-…).

Permission denied при установке

Возникает при установке в системный Python без прав администратора. Вместо sudo pip install используйте виртуальное окружение или флаг --user, который ставит пакет в домашний каталог пользователя.

Частые вопросы

Чем pip отличается от pip3?

В системах, где рядом стоят Python 2 и Python 3, pip мог относиться ко второму, а pip3 — к третьему. Сейчас это обычно один и тот же pip для Python 3. Чтобы не гадать, используйте python3 -m pip или py -m pip.

Нужно ли устанавливать pip в виртуальное окружение?

Нет, python -m venv кладёт pip в каждое новое окружение автоматически. После создания достаточно обновить его: python -m pip install --upgrade pip.

Как узнать, куда pip ставит пакеты?

Выполните python -m pip --version — в выводе будет путь к site-packages. Для конкретного пакета — python -m pip show имя и строка Location.

Как установить пакет прямо из GitHub?

Передайте pip адрес репозитория с префиксом git+; после @ можно указать тег, ветку или коммит. На компьютере должен быть установлен Git.

python -m pip install "git+https://github.com/psf/requests.git@v2.34.2"

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

Сохраните список пакетов в файл и передайте его uninstall. Если пакеты стоят в виртуальном окружении, быстрее удалить папку окружения и создать её заново.

python -m pip freeze > to-remove.txt
python -m pip uninstall -y -r to-remove.txt

Итог

pip устанавливает библиотеки в тот Python, к которому относится, поэтому вызывайте его как python -m pip (py -m pip в Windows). Обновляйте pip командой python -m pip install --upgrade pip, фиксируйте зависимости через freeze и работайте в виртуальном окружении. Дальше — установка библиотек на практике и обзор популярных библиотек Python; остальные статьи кластера — в разделе «Установка и окружение».

  • #Python
  • #pip
  • #PyPI
  • #Пакеты
  • #requirements.txt
↑ ↓ выборEnter открытьEsc закрыть