Коротко: 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 # Windowspip 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Запустите установщик с 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Откройте новый терминал и проверьте
PowerShell или cmd py --version py -m pip --versionТерминал, который был открыт во время установки, видит старый PATH, поэтому откройте новый.
- 3Если pip нет, установите его через ensurepip
PowerShell или cmd py -m ensurepip --upgrade py -m pip --versionensurepipвходит в стандартную библиотеку Python и ставит копию pip, которая поставляется внутри самого Python, ничего не скачивая. - 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, Ubuntu | sudo apt install python3-pip python3-venv |
| Rocky Linux, AlmaLinux, Fedora, RHEL | sudo dnf install python3-pip |
| Alpine | apk add py3-pip |
| Arch Linux | sudo pacman -S python-pip |
| openSUSE | sudo 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:
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:
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 дистрибутива.
# 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 . |
| Файл wheel | python3 -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.0pip, 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)
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: установка зависимостей проекта
# по одной зависимости на строку
requests==2.32.3
flask>=3.0,<4
gunicornpython3 -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, а в macOSpython3 -m pip uninstall pip.ensurepipвернёт его обратно.
Частые ошибки pip install
| Сообщение | Причина | Решение |
|---|---|---|
error: externally-managed-environment | pip вне venv в Debian 12+, Ubuntu 23.04+ | venv или pipx (англ.) |
'pip' is not recognized as an internal or external command | Windows: папки Scripts нет в PATH | py -m pip или добавить Python в PATH |
No module named pip | У этого Python нет pip | apt, 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 required | Windows: нет wheel, и пакет нужно компилировать | Установите Microsoft C++ Build Tools или версию пакета с готовым wheel |
Killed | Сборке не хватило памяти | Добавить swap или RAM (англ.) |
«Could not find a version» выглядит так (здесь для имени пакета, которого не существует, в Debian 12 с pip 23.0.1):
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.