image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Leonardo Souza
Leonardo Souza03/11/2025 10:45
Compartilhe

Artigo 2 — Gerenciando Ambientes Python com o Astral UV

  • #Python

(Série: Construindo Projetos Python de Forma Profissional — Parte 2/4)

Por Leonardo Souza — Engenheiro de Software e Sistemas Embarcados

Introdução

Este é o segundo artigo da série, onde estamos construindo um projeto Python moderno, organizado e alinhado às práticas do mercado.

Se você não leu o primeiro, recomendo fazê-lo antes, pois nele explico o porquê da série e como ela será estruturada.

https://web.dio.me/articles/construindo-projetos-python-de-forma-profissional-introducao-a-serie-de-3-artigos-f205b6a05855?back=/articles

Neste artigo vamos trabalhar a fundação de qualquer projeto Python profissional:

o gerenciamento do ambiente e das dependências com o Astral UV.

Nada de pip install solto, criação de requirements.txt e/ou outras formas de gerenciar o ambiente do projeto.

Nada de virtualenv espalhado na máquina.

Aqui o ambiente é isolado, reproduzível e controlado.

O que é o Astral UV

O UV é um gerenciador de pacotes e ambientes Python, veja abaixo a comparação:

image

Principais Vantagens

  • Rápido na instalação e resolução de dependências
  • Ambientes isolados por projeto (sem poluir o sistema)
  • Reprodutibilidade garantida pelo uv.lock
  • Código organizado desde o início
Documentação oficial:

Site oficial: Astral UV

Repositório: https://github.com/astral-sh/uv

Instalação

Caso o uv não seja reconhecido no Linux (Adicionar ao PATH)

  1. Abra o arquivo .bashrc:
nano ~/.bashrc

  1. Vá até o final do arquivo e adicione:
export PATH="$HOME/.local/bin:$PATH"

  1. Salvar e sair do nano:
  • Ctrl + OEnter (salva o arquivo)
  • Ctrl + X (fecha o editor)
  1. Recarregar as configurações:
source ~/.bashrc

  1. Testar:
uv --version

Se aparecer algo como uv 0.8.x, está configurado corretamente ✅

Windows

Descrição:

O comando abaixo executa o instalador em PowerShell, adicionando o uv ao PATH automaticamente.

powershell -ExecutionPolicy ByPass -c "irm <https://astral.sh/uv/install.ps1> | iex"

Verifique a instalação:

uv --version

Caso o comando não funcione, feche e abra novamente o terminal ou adicione o diretório do UV ao PATH.

Inicializando um Projeto

Vamos criar um projeto que será usado até o final da série:

uv init meuprojetoapi
cd meuprojetoapi

Estrutura gerada:

meuprojetoapi/
├── README.md
├── main.py
├── pyproject.toml
└── uv.lock

Observação: o ambiente virtual .venv/ será criado automaticamente ao instalar dependências.

Gerenciamento de Dependências

Adicionar dependências (produção)

Essas vão para o código da aplicação:

uv add fastapi

(Não vamos usar o FastAPI agora — apenas ilustrando. Ele será configurado no Artigo 3.)

Adicionar dependências de desenvolvimento

Essas não vão para produção:

uv add --dev black pytest

Sincronizar dependências após clonar o projeto

uv sync

Executando o Projeto

Execute:

uv run main.py
Hello from meuprojetoapi!

Sem ativar virtualenv manual.

Sem pip.

Sem confusão.

Boas Práticas

image

Conclusão

Agora você possui a base sólida para trabalhar em projetos Python com organização e previsibilidade.

Com o UV, você:

  • Estrutura o projeto corretamente
  • Mantém o ambiente isolado
  • Controla dependências com rastreabilidade
  • Evita conflitos entre máquinas e desenvolvedores

Essa é a fundação necessária para o próximo passo.

Próximo Artigo (Parte 3/4)

Criando uma API Moderna com FastAPI (Dentro do Projeto UV)

Nele vamos:

  • Instalar e configurar FastAPI corretamente
  • Criar a primeira rota
  • Rodar o servidor
  • Utilizar o Swagger automático

Agora que o terreno está preparado, vamos começar a construir.

LINKS com os artigos da serie:

Artigo 1 - Construindo Projetos Python de Forma Profissional: Introdução à Série de 3 Artigos:

https://web.dio.me/articles/construindo-projetos-python-de-forma-profissional-introducao-a-serie-de-3-artigos-f205b6a05855?back=/articles

Compartilhe
Recomendados para você
Neo4J - Análise de Dados com Grafos
Luizalabs - Back-end com Python
Suzano - Python Developer #2
Comentários (2)
DIO Community
DIO Community - 03/11/2025 14:02

Excelente, Leonardo! Que artigo cirúrgico e essencial sobre Astral UV! Você tocou no ponto crucial do desenvolvimento Python: o gerenciamento de dependências e ambientes de forma rápida, consistente e reprodutível.

É fascinante ver como você aborda o UV (Astral) como a ferramenta moderna que unifica pip, venv e poetry, eliminando o overhead e garantindo o isolamento de ambiente (.venv).

Qual você diria que é o maior desafio para um desenvolvedor ao implementar os princípios de IA responsável em um projeto, em termos de balancear a inovação e a eficiência com a ética e a privacidade, em vez de apenas focar em funcionalidades?

Fernando Araujo
Fernando Araujo - 03/11/2025 11:51

Leonardo, esta sua série de artigos veio em boa hora para mim.

Eu acabei de abandonar meu Windows 10, por ter mudado para linux no meu notebook pessoal e vou precisar profissionalizar meu ambiente de desenvolvimento. Não vou passar para o Windows 11, por não poder comprar uma máquina nova para rodá-lo, nem concordar com essa exigência de máquina nova para cada novo Windows!. Aguardem o mesmo para o Windows 12 e além!!!

Já estou aguardando o próximo artigo...