Руководства

Как установить pip в Windows, Linux и macOS, обновить pip и пользоваться pip install

Как установить pip в Windows, Debian, Ubuntu и macOS, проверить его командой python3 -m pip --version и обновить pip (pip upgrade), не ломая системный Python.

Опубликовано ~9 мин чтения
На этой странице

Коротко: pip обычно уже установлен вместе с Python. Проверьте это командой python3 -m pip --version (py -m pip --version в Windows). Если pip нет, установите его: sudo apt install python3-pip python3-venv в Debian и Ubuntu или py -m ensurepip --upgrade в Windows с Python от python.org. Обновить pip (pip upgrade) можно командой python -m pip install --upgrade pip внутри виртуального окружения. Пакеты ставьте через python3 -m pip install ИМЯ, тоже в виртуальном окружении.

сначала проверьте
python3 -m pip --version     # Linux · macOS
py -m pip --version          # Windows
Вывод в Debian 12
pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11)

Эта строка сообщает три вещи: pip установлен, какой у него номер версии и к какому Python он относится (часть в скобках). Два других возможных ответа:

  • /usr/bin/python3: No module named pip: Python есть, а pip нет. Установите его для своей системы, как описано ниже.
  • python3: command not found или Python was not found в Windows: нет самого Python, поэтому начните со статьи python: command not found (англ.).

Если не работает именно команда pip, а python3 -m pip работает, этот случай разобран в статье pip: command not found (англ.). Здесь же речь о том, как установить pip в систему и как правильно пользоваться pip install.

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

Установщики с python.org уже содержат pip, поэтому в Windows «установить pip» чаще всего значит установить Python с нужными галочками и вызывать pip через лаунчер py.

  1. 1Запустите установщик с python.org

    На первом экране поставьте галочку Add python.exe to PATH (по умолчанию она снята). В разделе Customize installation компонент pip отмечен по умолчанию, не снимайте его. Начиная с Python 3.14 python.org предлагает для Windows ещё и Python install manager, который ставит версии Python командой py install; pip входит и в них, как и в Python из Microsoft Store.

  2. 2Откройте новый терминал и проверьте
    PowerShell или cmd
    py --version
    py -m pip --version

    Терминал, который был открыт во время установки, видит старый PATH, поэтому откройте новый.

  3. 3Если pip нет, установите его через ensurepip
    PowerShell или cmd
    py -m ensurepip --upgrade
    py -m pip --version

    ensurepip входит в стандартную библиотеку Python и ставит копию pip, которая поставляется внутри самого Python, ничего не скачивая.

  4. 4Ставьте пакеты через py -m pip
    PowerShell или cmd
    py -m pip install requests

Сообщение 'pip' is not recognized as an internal or external command, в русской Windows "pip" не является внутренней или внешней командой, исполняемой программой или пакетным файлом, значит, что pip установлен, но его папки нет в PATH. pip.exe лежит в папке Scripts установленного Python, при установке для одного пользователя это %LOCALAPPDATA%\Programs\Python\Python3XX\Scripts. Либо и дальше вызывайте py -m pip, которому запись в PATH не нужна, либо запустите установщик ещё раз, выберите Modify и в Advanced Options отметьте Add Python to environment variables. Те же шаги работают в Windows Server 2022 и 2019, где для способа с get-pip.py есть и curl.exe.

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

ДистрибутивКоманда
Debian, Ubuntusudo apt install python3-pip python3-venv
Rocky Linux, AlmaLinux, Fedora, RHELsudo dnf install python3-pip
Alpineapk add py3-pip
Arch Linuxsudo pacman -S python-pip
openSUSEsudo zypper install python3-pip

В Linux ставьте pip менеджером пакетов, а не через get-pip.py: системный Python принадлежит дистрибутиву, и от него зависят его собственные утилиты. Пакет python3-pip в Debian 12 — это pip 23.0.1, и он устанавливает три имени одной и той же программы: /usr/bin/pip, pip3 и pip3.11. Кроме того, он рекомендует build-essential и python3-dev, так что apt по умолчанию подтягивает полный набор инструментов для компиляции. Это помогает, когда пакет приходится собирать из исходников; на небольшом сервере, где ставятся только готовые пакеты wheel, добавьте --no-install-recommends.

Дальше: error: externally-managed-environment

В Debian 12 и новее и в Ubuntu 23.04 и новее следующий шаг обычно заканчивается ошибкой. Вот обычный pip install вне виртуального окружения в Debian 12:

python3 -m pip install в Debian 12 (сокращено)
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
    ...
hint: See PEP 668 for the detailed specification.

pip install --user отклоняется точно так же. Так и задумано (PEP 668): pip не вмешивается в Python, которым управляет apt. Ставьте пакеты в виртуальное окружение, а для утилит командной строки используйте pipx:

Debian · Ubuntu
python3 -m venv ~/venvs/app
. ~/venvs/app/bin/activate
python -m pip install requests      # ставится в ~/venvs/app, в системе ничего не меняется

sudo apt install -y pipx            # для утилит, которые запускаются как команды
pipx install httpie

Все варианты, включая то, почему --break-system-packages — крайняя мера, собраны в разделе про externally-managed-environment (англ.) статьи об ошибках pip.

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

Установщик python.org для macOS уже содержит pip; вызывайте его как pip3 или python3 -m pip. Python из Homebrew (brew install python) тоже включает pip3, но помечен как externally managed, как и в Debian, поэтому там работайте в venv. В python3 из Command Line Tools от Apple тоже есть pip3. Ни один из них не ставит команду pip без цифры; как её добавить, показано в разделе о macOS (англ.) статьи об ошибке.

ensurepip или get-pip.py: что выбрать?

Официальное руководство по установке pip (pip.pypa.io) называет два поддерживаемых способа для Python, в котором pip нет:

  • python -m ensurepip --upgrade ставит копию pip, которая поставляется с самим Python, без доступа к сети. Debian и Ubuntu выносят ensurepip в пакет python3.X-venv и не дают применять его к системному Python, так что там он служит только для venv.
  • get-pip.py скачивает самый свежий pip. Берите его только с https://bootstrap.pypa.io/get-pip.py, адреса из документации pip, и только для Python, который вы собрали или установили сами (python.org, сборка из исходников, embeddable-пакет для Windows), но никогда для системного Python дистрибутива.
get-pip.py
# Linux · macOS
curl -fsSLO https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py

# Windows
curl.exe -o get-pip.py https://bootstrap.pypa.io/get-pip.py
py get-pip.py

Для старого Python, который актуальный pip уже не поддерживает, на том же сайте лежат версии по адресу https://bootstrap.pypa.io/pip/3.X/get-pip.py. Embeddable-пакет для Windows поставляется без pip и с выключенным site: сначала раскомментируйте строку import site в его файле python3XX._pth, иначе установленные пакеты не найдутся.

Как пользоваться pip install

ЗадачаКоманда
Установить пакетpython3 -m pip install requests
Конкретная версияpython3 -m pip install requests==2.32.3
Диапазон версий (в кавычках)python3 -m pip install "requests>=2.31,<3"
Обновить пакетpython3 -m pip install --upgrade requests
Всё из файла зависимостейpython3 -m pip install -r requirements.txt
Проект из текущей папки, в режиме редактированияpython3 -m pip install -e .
Файл wheelpython3 -m pip install ./pkg-1.0-py3-none-any.whl
Из Git-репозиторияpython3 -m pip install "git+https://github.com/OWNER/REPO.git@v1.2.0"
Показать, что установленоpython3 -m pip list
Подробности об одном пакетеpython3 -m pip show requests
Найти сломанные зависимостиpython3 -m pip check
Удалить пакетpython3 -m pip uninstall requests

Внутри активированного venv команды pip и python уже относятся к нему, поэтому там можно писать просто pip install requests. Всё, где есть > или <, берите в кавычки. Без кавычек оболочка считает их перенаправлением: pip install requests>=2.31 ставит самую новую версию requests и пишет вывод pip в файл с именем =2.31, а pip install requests<3 падает, потому что файла с именем 3, из которого нужно читать, нет.

Полный цикл с небольшим локальным пакетом в venv выглядит так:

Пример вывода (локальный тестовый пакет, путь сокращён)
$ python -m pip install ./hello
...
Successfully built hello
Installing collected packages: hello
Successfully installed hello-0.1.0

$ python -m pip uninstall -y hello
Found existing installation: hello 0.1.0
Uninstalling hello-0.1.0:
  Successfully uninstalled hello-0.1.0

pip, pip3 или python -m pip?

pip3 — имя, которое ясно говорит, что речь о Python 3; оно осталось с тех лет, когда pip ещё мог означать Python 2. В Debian 12 все три имени запускают одну и ту же программу, а внутри venv pip, pip3 и pip3.X относятся к этому venv. Надёжная привычка — python3 -m pip (или py -m pip в Windows): так всегда используется pip именно того Python, который вы назвали, и пакеты всегда попадают в тот же интерпретатор, который запускает ваш код. Если сомневаетесь, pip --version назовёт этот интерпретатор в скобках.

Как обновить pip (pip upgrade)

внутри venv или с Python от python.org
python -m pip install --upgrade pip     # Linux · macOS
py -m pip install --upgrade pip         # Windows
  • В Windows используйте форму с -m. pip install --upgrade pip останавливается с сообщением ERROR: To modify pip, please run the following command: и предлагает вариант с python.exe -m pip, потому что Windows не может заменить pip.exe, пока он запущен.
  • В Debian и Ubuntu системный pip обновляет apt. sudo apt install --only-upgrade python3-pip поставит ту версию, которую поддерживает релиз. Обновление самим pip отклоняется как externally managed, а если его форсировать, в системе окажутся две копии pip, и каждую из них будут считать своей и apt, и сам pip. У venv свой pip, его можно обновлять свободно.
  • «[notice] A new release of pip is available» после установки — это информация, а не ошибка. В venv выполните предложенную команду, на системном Python просто не обращайте внимания.

pip install pip при работающем pip отвечает только Requirement already satisfied; чтобы что-то произошло, нужен --upgrade. И установить сам себя там, где его нет, pip не может: это работа apt, ensurepip или get-pip.py.

requirements.txt: установка зависимостей проекта

requirements.txt
# по одной зависимости на строку
requests==2.32.3
flask>=3.0,<4
gunicorn
bash · zsh
python3 -m venv .venv && . .venv/bin/activate
python -m pip install -r requirements.txt
python -m pip freeze > requirements.txt     # записать обратно точные версии

pip freeze выводит все пакеты текущего окружения с точными версиями, поэтому запускайте его из venv проекта: вне venv он выведет все пакеты системного Python. Пакет, установленный из локальной папки или из Git, появится как name @ file:///… или name @ git+https://…, а не с номером версии. python -m pip uninstall -r requirements.txt -y удаляет перечисленные пакеты; их зависимости uninstall никогда не удаляет, так что начать с чистого окружения проще всего, удалив venv и создав его заново.

Как удалить pip

  • Debian и Ubuntu: sudo apt remove python3-pip.
  • venv: удалите папку venv, её pip уйдёт вместе с ней.
  • Windows или Python от python.org: py -m pip uninstall pip, а в macOS python3 -m pip uninstall pip. ensurepip вернёт его обратно.

Частые ошибки pip install

СообщениеПричинаРешение
error: externally-managed-environmentpip вне venv в Debian 12+, Ubuntu 23.04+venv или pipx (англ.)
'pip' is not recognized as an internal or external commandWindows: папки Scripts нет в PATHpy -m pip или добавить Python в PATH
No module named pipУ этого Python нет pipapt, dnf, apk или ensurepip
Could not find a version that satisfies the requirementОпечатка в имени, нет сборки для вашей версии Python или платформы, нет сетиПроверьте имя на PyPI и python3 --version
The script … is installed in '…' which is not on PATHКоманды попали в ~/.local/bin или в папку ScriptsДобавить эту папку в PATH (англ.)
Microsoft Visual C++ 14.0 or greater is requiredWindows: нет wheel, и пакет нужно компилироватьУстановите Microsoft C++ Build Tools или версию пакета с готовым wheel
KilledСборке не хватило памятиДобавить swap или RAM (англ.)

«Could not find a version» выглядит так (здесь для имени пакета, которого не существует, в Debian 12 с pip 23.0.1):

python -m pip install с несуществующим именем
ERROR: Could not find a version that satisfies the requirement vmh-no-such-package-xyz (from versions: none)
ERROR: No matching distribution found for vmh-no-such-package-xyz

(from versions: none) значит, что pip вообще не нашёл ничего подходящего: неверное имя, недоступный индекс пакетов или пакет без релиза для вашей версии Python. Если в скобках перечислены версии, пакет существует, но ни одна из них не подходит под ваше ограничение версии или ваш Python. Если вы работаете с conda, ставьте пакеты сначала через conda, а через pip только то, чего в conda нет, и в том же окружении; если не находится сама команда conda, решение описано в статье conda: command not found (англ.).

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

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

Установите Python с python.org, оставив отмеченным компонент pip (он отмечен по умолчанию) и поставив галочку Add python.exe to PATH, затем откройте новый терминал и выполните py -m pip --version. Если pip нет, py -m ensurepip --upgrade поставит копию, которая идёт вместе с Python. Если команда pip не распознаётся, вызывайте py -m pip: ему запись в PATH не нужна.

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

Внутри виртуального окружения или с Python от python.org выполните python -m pip install --upgrade pip, а в Windows py -m pip install --upgrade pip: простой pip install --upgrade pip там останавливается с сообщением «To modify pip, please run the following command». В Debian и Ubuntu системный pip обновляйте через apt.

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

Выполните sudo apt install python3-pip python3-venv. Пакеты затем ставьте в виртуальное окружение (python3 -m venv .venv, потом .venv/bin/pip install ИМЯ), потому что Debian 12 и новее и Ubuntu 23.04 и новее отклоняют pip install в системный Python с ошибкой error: externally-managed-environment.

Читайте также

Все статьи раздела

E: Unable to locate package: почему apt не находит пакет и что делать

apt не находит пакет: пустой индекс, неподключённый компонент, неверное имя или выпуск без поддержки. Решения для Debian 12/13, Ubuntu 22.04/24.04 и Docker.

pip: command not found, and the externally-managed-environment error(англ.)

Install pip the right way on Debian, Ubuntu, Rocky, Alpine and macOS, and fix 'externally-managed-environment' with a venv or pipx instead of breaking apt.

python: command not found? Fix it on Linux, macOS and in Docker(англ.)

Modern distros ship python3 but no python command. Fix 'python: command not found' on Debian, Ubuntu, Rocky, Alpine, macOS and Docker without breaking apt.

conda: command not found? Initialise conda in bash and zsh(англ.)

Run ~/miniconda3/bin/conda init bash (or zsh), then open a new terminal. Fixes conda: command not found after install, on macOS zsh, cron, Docker, Windows.

How to install Node.js on Ubuntu, Debian and Windows, and update Node and npm(англ.)

Install Node.js the right way: NodeSource or nvm on Ubuntu and Debian, the MSI on Windows Server. Check node -v, update Node and npm, run it as a service.

How to check the Python version on Windows, Linux and macOS, and in code(англ.)

How to check Python version: python3 --version on Linux and macOS, py --version in cmd, sys.version_info in code, plus venvs, pip and several versions.

How to install Python on Ubuntu and Debian: python3, venv, pip and newer versions(англ.)

Install Python on Ubuntu or Debian: which python3 each release ships, apt install python3-venv python3-pip, virtual environments and newer versions.