pip в Python: установка, обновление и основные команды
Что такое pip в Python, как проверить и установить pip, обновить его через python -m pip, и шпаргалка команд: install, uninstall, list, show, freeze.
Содержание · 10 разделов
- Что такое pip и откуда он берёт пакеты
- Как проверить, установлен ли pip
- pip или python -m pip
- Как установить pip
- Через ensurepip
- В Windows
- В Linux
- Как обновить pip
- Основные команды pip
- install и uninstall
- list, show и freeze
- Версии пакетов
- Ошибки pip
- «pip» не является внутренней или внешней командой
- No matching distribution found
- externally-managed-environment
- Permission denied при установке
- Частые вопросы
- Чем pip отличается от pip3?
- Нужно ли устанавливать pip в виртуальное окружение?
- Как узнать, куда pip ставит пакеты?
- Как установить пакет прямо из GitHub?
- Как удалить все установленные пакеты?
- Итог
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:
- находит пакет
djangoна PyPI (или в другом указанном индексе); - выбирает версию, совместимую с вашим Python и операционной системой;
- скачивает готовый архив — wheel (
.whl) — или исходники; - устанавливает пакет и его зависимости в папку
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. Решения:
- Вызывайте pip через интерпретатор:
py -m pip install пакетилиpython -m pip install пакет. Это работает без правкиPATH. - Если
pythonтоже не находится, переустановите Python с галочкой Add python.exe to PATH или добавьте вPATHпапки...\Python312\и...\Python312\Scripts\вручную. - Если ошибка в новом терминале после установки — закройте и откройте терминал заново:
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