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
×
Реклама
ИКС