Repolode
pypa

pypa/pip-tools

Conjunto de ferramentas de linha de comando (pip-compile e pip-sync) que fixa dependências Python em arquivos de requirements reproduzíveis e mantém os ambientes sincronizados com eles.

Estrelas
8,003
Forks
686
Issues abertas
174
Último commit
ontem

O que é?

pip-tools ajuda projetos Python a manter as dependências fixadas atualizadas sem perder a previsibilidade dos builds. pip-compile lê as dependências de pyproject.toml, setup.py, setup.cfg ou de um arquivo requirements.in e gera um requirements.txt com versões fixadas para todas elas, incluindo as dependências transitivas, com opção de gerar hashes para o modo de verificação de hashes do pip.

pip-sync recebe um arquivo de requirements compilado e instala, atualiza ou desinstala pacotes no ambiente virtual atual para que ele corresponda exatamente ao arquivo. As atualizações podem ser aplicadas a todos os pacotes ou apenas a alguns selecionados, e arquivos de requirements em camadas podem impor restrições uns aos outros para manter consistentes as versões fixadas para desenvolvimento e produção.

As ferramentas são instaladas com pip em cada ambiente virtual, e o projeto observa que os arquivos de versões fixadas devem ser gerados separadamente para cada ambiente Python de destino.

Recursos principais

  • 01Compila arquivos requirements.txt com versões fixadas a partir de pyproject.toml, setup.py, setup.cfg ou requirements.in.
  • 02Inclui dependências transitivas e indica qual pacote exige cada versão fixada.
  • 03Gera hashes sha256 para o modo de verificação de hashes do pip com --generate-hashes.
  • 04Atualiza todos os pacotes ou apenas alguns selecionados com --upgrade e --upgrade-package.
  • 05Sincroniza um ambiente virtual para que corresponda exatamente a um arquivo de requirements com pip-sync.
  • 06Dá suporte a arquivos de requirements em camadas que impõem restrições uns aos outros.

Casos de uso

  • Fixar dependências de aplicações para builds de produção reproduzíveis.
  • Manter estável o ambiente de CI de uma biblioteca e, ainda assim, atualizar as versões fixadas de forma deliberada.
  • Manter conjuntos separados de requirements para produção e desenvolvimento com restrições compartilhadas.
  • Executar pip-compile como um hook de pre-commit para regenerar as versões fixadas quando as entradas mudarem.

Início rápido

  1. 1

    Ative o ambiente virtual do seu projeto e instale o pip-tools

    python -m pip install pip-tools
  2. 2

    Compile o requirements.in para gerar um requirements.txt com as versões fixadas

    pip-compile requirements.in
  3. 3

    Sincronize o ambiente virtual para que corresponda ao requirements.txt

    pip-sync

Tópicos

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

Perguntas frequentes

O que é pip-tools?
Conjunto de ferramentas de linha de comando (pip-compile e pip-sync) que fixa dependências Python em arquivos de requirements reproduzíveis e mantém os ambientes sincronizados com eles. pip-tools ajuda projetos Python a manter as dependências fixadas atualizadas sem perder a previsibilidade dos builds. pip-compile lê as dependências de pyproject.toml, setup.py, setup.cfg ou de um arquivo requirements.in e gera um requirements.txt com versões fixadas para todas elas, incluindo as dependências transitivas, com opção de gerar hashes para o modo de verificação de hashes do pip.
pip-tools é gratuito? Qual é a licença?
pip-tools é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
pip-tools ainda é mantido?
Manutenção ativa. O último commit de pip-tools foi em 6 de nov. de 2026.
Para que posso usar pip-tools?
Fixar dependências de aplicações para builds de produção reproduzíveis. Manter estável o ambiente de CI de uma biblioteca e, ainda assim, atualizar as versões fixadas de forma deliberada. Manter conjuntos separados de requirements para produção e desenvolvimento com restrições compartilhadas. Executar pip-compile como um hook de pre-commit para regenerar as versões fixadas quando as entradas mudarem.
Como instalar pip-tools?
Ative o ambiente virtual do seu projeto e instale o pip-tools: python -m pip install pip-tools Compile o requirements.in para gerar um requirements.txt com as versões fixadas: pip-compile requirements.in Sincronize o ambiente virtual para que corresponda ao requirements.txt: pip-sync
Onde consigo pip-tools?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pypa/pip-tools

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados