Skip to content
Latchkey

uv vs pip: instalações Python mais rápidas para CI

O uv (da Astral) é um instalador baseado em Rust que é quase um drop-in para o pip, mas normalmente instala muito mais rápido, especialmente em caches de CI frios.

O pip é o instalador Python embutido e universal que todo tutorial pressupõe. O uv é uma ferramenta mais nova em Rust que reimplementa instalações no estilo pip mais um fluxo de projeto/lock, trocando universalidade por velocidade.

uvpip
LinguagemRustPython
Velocidade de instalaçãoGeralmente muito mais rápido, paralelo + cache globalBaseline
Compatibilidade com pipuv pip install é quase um drop-inA própria referência
Lockfileuv.lock (modo projeto) ou estilo pip-compileNenhum nativo (use pip-tools)
DisponibilidadePasso de instalação extra (binário/action)Vem com o Python

Onde o uv ganha

O uv resolve e instala em paralelo e mantém um cache global de wheels descompactados, então instalações repetidas (o caso comum em CI) são drasticamente mais rápidas. uv pip install -r requirements.txt aceita os mesmos arquivos que o pip, então a adoção costuma ter baixo atrito. O uv também funciona como resolvedor (uv pip compile) e gerenciador de projeto com uv.lock.

Onde o pip ainda ganha

O pip vem com toda instalação de Python, então não há nada extra para provisionar e nenhum risco de faltar a ferramenta em plataformas exóticas. Para jobs simples, um script pontual, ou ambientes onde você não pode adicionar um binário, o pip puro é o caminho de menor resistência. O pip também é a referência canônica: se um pacote só documenta o pip, o pip elimina a ambiguidade.

Em CI

De qualquer forma, faça cache pelo hash dos seus requirements fixados ou do lockfile. O uv reduz notavelmente o tempo de instalação fria em árvores de dependências grandes; o pip mais um cache de wheels quente estreita a diferença. Fixe versões independentemente da ferramenta para que os builds sejam reproduzíveis.

O veredito

Escolha o uv quando o tempo de instalação importa e você pode adicionar o binário, o que cobre a maioria dos CIs; escolha o pip para portabilidade máxima, a configuração mais simples possível, ou quando uma ferramenta só documenta o pip. Eles coexistem: muitos times rodam uv pip no CI e o pip puro localmente.

Guias relacionados