Repolode
pypa

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. 1

    Активируйте виртуальное окружение проекта и установите pip-tools

    python -m pip install pip-tools
  2. 2

    Скомпилируйте requirements.in, чтобы создать requirements.txt с зафиксированными версиями

    pip-compile requirements.in
  3. 3

    Синхронизируйте виртуальное окружение в соответствии с requirements.txt

    pip-sync

Темы

#python#dependency-management#pip#requirements#lockfile#packaging#hashes#pip-compile#pip-tools#setuptools

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

Что такое 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 для воспроизводимых сборок.

25 тыс.+3 за неделю1,9 тыс.PythonMITАктивно поддерживаетсяОбновлён позавчера