Сверхбыстрый менеджер пакетов и проектов Python на Rust, заменяющий pip, virtualenv, pyenv, pipx и другие инструменты.
pypa/pip-tools
Набор CLI-инструментов (pip-compile и pip-sync) для фиксации зависимостей Python в воспроизводимых requirements-файлах и синхронизации с ними окружений.
- Звёзды
- 8,003
- Форки
- 686
- Открытые issues
- 174
- Последний коммит
- вчера
Что это?
pip-tools помогает проектам на Python поддерживать зафиксированные зависимости в актуальном состоянии, сохраняя предсказуемость сборок. pip-compile считывает зависимости из pyproject.toml, setup.py, setup.cfg или файла requirements.in и создаёт requirements.txt с зафиксированными версиями всех зависимостей, включая транзитивные; при необходимости он также генерирует хеши для режима pip с проверкой хешей.
pip-sync принимает скомпилированный файл с требованиями и устанавливает, обновляет или удаляет пакеты в текущем виртуальном окружении, чтобы оно в точности соответствовало этому файлу. Обновлять можно все пакеты или только выбранные, а файлы требований можно связывать ограничениями, чтобы зафиксированные версии для разработки и production оставались согласованными.
Инструменты устанавливаются через pip отдельно в каждом виртуальном окружении. В проекте также отмечается, что файлы с зафиксированными версиями следует генерировать отдельно для каждой целевой среды Python.
Ключевые возможности
- 01Компилирует файлы requirements.txt с зафиксированными версиями на основе pyproject.toml, setup.py, setup.cfg или requirements.in.
- 02Включает транзитивные зависимости и указывает, какому пакету нужна каждая зафиксированная версия.
- 03Генерирует хеши sha256 для режима pip с проверкой хешей с помощью --generate-hashes.
- 04Обновляет все пакеты или отдельные выбранные пакеты с помощью --upgrade и --upgrade-package.
- 05Синхронизирует виртуальное окружение, приводя его в точное соответствие файлу требований, с помощью pip-sync.
- 06Поддерживает связанные ограничениями файлы требований.
Сценарии использования
- Фиксация зависимостей приложения для воспроизводимых production-сборок.
- Поддержание стабильности CI-окружения библиотеки при осознанном обновлении зафиксированных версий.
- Ведение отдельных наборов требований для production и разработки с общими ограничениями.
- Запуск pip-compile как pre-commit hook для обновления зафиксированных версий при изменении входных файлов.
Быстрый старт
- 1
Активируйте виртуальное окружение проекта и установите pip-tools
python -m pip install pip-tools - 2
Скомпилируйте requirements.in, чтобы создать requirements.txt с зафиксированными версиями
pip-compile requirements.in - 3
Синхронизируйте виртуальное окружение в соответствии с requirements.txt
pip-sync
Темы
Частые вопросы
- Что такое pip-tools?
- Набор CLI-инструментов (pip-compile и pip-sync) для фиксации зависимостей Python в воспроизводимых requirements-файлах и синхронизации с ними окружений. pip-tools помогает проектам на Python поддерживать зафиксированные зависимости в актуальном состоянии, сохраняя предсказуемость сборок. pip-compile считывает зависимости из pyproject.toml, setup.py, setup.cfg или файла requirements.in и создаёт requirements.txt с зафиксированными версиями всех зависимостей, включая транзитивные; при необходимости он также генерирует хеши для режима pip с проверкой хешей.
- pip-tools можно использовать бесплатно? Какая у него лицензия?
- pip-tools распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- pip-tools всё ещё поддерживается?
- Активно поддерживается. Последний коммит в pip-tools — 6 нояб. 2026 г..
- Для чего можно использовать pip-tools?
- Фиксация зависимостей приложения для воспроизводимых production-сборок. Поддержание стабильности CI-окружения библиотеки при осознанном обновлении зафиксированных версий. Ведение отдельных наборов требований для production и разработки с общими ограничениями. Запуск pip-compile как pre-commit hook для обновления зафиксированных версий при изменении входных файлов.
- Как установить pip-tools?
- Активируйте виртуальное окружение проекта и установите pip-tools: python -m pip install pip-tools Скомпилируйте requirements.in, чтобы создать requirements.txt с зафиксированными версиями: pip-compile requirements.in Синхронизируйте виртуальное окружение в соответствии с requirements.txt: pip-sync
- Где скачать pip-tools?
- Исходный код и инструкции по установке — на GitHub: https://github.com/pypa/pip-tools
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Инструмент для управления виртуальными окружениями и зависимостями Python, объединяющий pip и virtualenv и использующий Pipfile и Pipfile.lock для воспроизводимых сборок.
Инструмент для упаковки Python-приложений и их зависимостей в единый исполняемый файл .pex — аналог переносимого virtualenv.
Инструмент для Python, который определяет версии пакетов по тегам Git или Mercurial и интегрируется с setuptools.
Python-лаунчер, который устанавливает пакеты во временное окружение для одного запуска, а затем удаляет их.
Стандартный установщик пакетов Python: устанавливает пакеты из Python Package Index (PyPI) и других индексов.