Um gerenciador de pacotes e projetos Python extremamente rápido, escrito em Rust, que substitui pip, virtualenv, pyenv, pipx e outras ferramentas.
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
Ative o ambiente virtual do seu projeto e instale o pip-tools
python -m pip install pip-tools - 2
Compile o requirements.in para gerar um requirements.txt com as versões fixadas
pip-compile requirements.in - 3
Sincronize o ambiente virtual para que corresponda ao requirements.txt
pip-sync
Tópicos
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
Ferramenta de virtualenv e gerenciamento de dependências Python que combina pip e virtualenv e usa Pipfile e Pipfile.lock para builds reproduzíveis.
Ferramenta Python que empacota aplicações e dependências em arquivos .pex executáveis, como um virtualenv portátil.
Ferramenta Python que obtém a versão de pacotes a partir de tags do Git ou Mercurial e se integra ao setuptools.
Um launcher Python que instala pacotes em um ambiente temporário para uma única execução e depois os descarta.
O instalador padrão de pacotes do Python, usado para instalar pacotes do Python Package Index (PyPI) e de outros índices.