Python - В чем отличие pipx от pip
Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2026
Python - В чем отличие pipx от pip
pip — устанавливает пакеты глобально или в текущий virtualenv. Если ставить глобально на Debian/Ubuntu — ошибка externally-managed-environment. pipx — автоматически создаёт отдельный venv для каждого пакета, но при этом делает команды доступными глобально (через symlink в ~/.local/bin). Пакеты не конфликтуют между собой.
Короче: pipx для CLI-утилит (как googlesearch-python), pip для библиотек внутри проекта.
| Характеристика | pip | pipx |
|---|---|---|
| Назначение | Установка библиотек и зависимостей проекта | Установка CLI-инструментов и приложений |
| Изоляция | Нет (ставит в system/venv) | Автоматический изолированный venv для каждого пакета |
| Глобальная доступность команд | Только внутри активированного venv | Да (symlink в ~/.local/bin) |
| Управление зависимостями | Устанавливает зависимости в общее окружение | Держит зависимости изолированно |
| Конфликты версий | Возможны между проектами | Исключены (каждый пакет в своём venv) |
| Работа на Debian/Ubuntu 24.04+ | Блокируется (externally-managed-environment) | Работает без проблем |
| Типичное использование | pip install -r requirements.txt | pipx install black, ruff, poetry |
