Descrever boas práticas de desenvolvimento de AIs e Dados
Obs.:
a. Todos os comandos aqui se aplicam ao MacOS/Linux
b. Com o uv, você não precisa mais baixar o Python no site oficial. Ele faz tudo. Ele é absurdamente rápido e resolve um problema que o pip nunca resolveu bem: ele gerencia o próprio Python para você.
O uv é uma ferramenta "tudo-em-um". Ele substitui o pip (instalador), o venv (ambientes virtuais), o pip-tools (trava de versões) e até o pyenv (instalador de versões do Python).
Antes de tudo, você precisa do uv no seu sistema.
curl -LsSf https://astral.sh/uv/install.sh | sh
Reinicie o seu terminal após a instalação.
Esqueça o python -m venv. Com o uv, seguimos este fluxo:
Crie uma pasta e entre nela. Em seguida, digite:
uv init
O que aconteceu? O
uvcriou um arquivopyproject.toml(o cérebro do seu projeto) e umhello.py.
Quer usar o Python 3.12, mas não tem ele instalado? Sem problemas:
uv venv --python 3.12
O uv vai baixar o Python 3.12 isoladamente para esse projeto e criar a pasta .venv. É instantâneo.
Igual ao método tradicional:
source .venv/bin/activateEm vez de pip install, usamos uv add.
uv add pandas requests
Por que isso é melhor que o pip?
1.4.1. Velocidade: Ele instala em milissegundos usando cache compartilhado.
1.4.2. Lockfile: Ele cria automaticamente um arquivo uv.lock. Esse arquivo garante que qualquer pessoa que baixar seu projeto terá exatamente as mesmas versões de bibliotecas que você, evitando o famoso "na minha máquina funciona".
| Ação | Jeito Antigo (Slow) | Jeito uv (Fast ⚡) |
|---|---|---|
| Criar ambiente | python -m venv .venv |
uv venv |
| Instalar pacote | pip install pandas |
uv add pandas |
| Remover pacote | pip uninstall pandas |
uv remove pandas |
| Rodar um script | python main.py |
uv run main.py |
| Gerar lista de deps | pip freeze > req.txt |
(Automático no uv.lock) |
Você nem precisa ativar o ambiente para rodar algo. Se você digitar:
uv run python main.py
O uv detecta o ambiente, garante que as dependências estão instaladas e roda o script. Se o ambiente não existir, ele cria na hora.
Converter um projeto do requirements.txt para o uv é como trocar um motor a combustão por um elétrico: o carro fica mais leve, mais rápido e muito mais fácil de dar manutenção.
O segredo aqui é que o uv não apenas lê o seu arquivo antigo, ele o organiza dentro de um padrão moderno chamado PEP 621, que centraliza tudo no arquivo pyproject.toml.
Aqui está o passo a passo para fazer essa migração com segurança:
Vá até a pasta onde está o seu arquivo requirements.txt e execute:
uv init
O que isso faz: Cria o arquivo
pyproject.toml, que será o novo "RG" do seu projeto, substituindo a necessidade de gerenciar orequirements.txtmanualmente no futuro.
Agora, em vez de instalar uma por uma, vamos dizer ao uv para ler o seu arquivo antigo e adicionar tudo ao novo formato:
uv add -r requirements.txt
A mágica aqui: O
uvvai ler cada linha do seurequirements.txt, resolver as versões para garantir que não haja conflitos e escrever essas dependências dentro dopyproject.toml. Além disso, ele criará o arquivouv.lock.
Após a conversão, você terá dois arquivos principais que substituem o antigo método:
pyproject.toml(O que você edita): Contém as bibliotecas que você realmente precisa (ex:pandas,flask). É legível por humanos.uv.lock(O que o computador lê): É uma "fotografia" exata de todas as sub-dependências e versões instaladas. Nunca edite este arquivo manualmente, mas sempre o envie para o GitHub.
Agora que suas dependências estão seguras no novo formato, você pode se livrar do passado:
1.6.4.1. **Delete o requirements.txt** (ou renomeie para .old se estiver inseguro).
1.6.4.2. Delete a pasta venv antiga (se você tiver uma):
rm -rf venv1.6.4.3. Crie o novo ambiente padrão do uv:
uv venvEsqueça o pip. Sua rotina agora será:
- Quer adicionar uma biblioteca nova?
uv add nome_da_lib - Quer rodar seu código?
uv run python seu_script.py(Ouvgarante que o ambiente está atualizado antes de rodar). - Alguém novo baixou seu projeto? Eles só precisam digitar
uv synce o ambiente será montado identico ao seu em milissegundos.
Se você tinha um requirements-dev.txt (com coisas como pytest ou black), o uv tem um lugar especial para isso:
uv add --dev pytestIsso separa o que é necessário para o sistema rodar do que é necessário apenas para você programar.
- Para instalar o Terraform, é necessário ter Homebrew instalado. Para instalar o Homebrew, siga o link a seguir: https://brew.sh/
- Instale também o tfswitch. Para tal, siga a página a seguir: https://tfswitch.warrensbox.com/. O comando tfswitch permite alterar entre as várias versões do Terraform instalado no seu computador.
- Se você não quiser usar o tfswitch para escolher a versão do Terraform, use o comando a seguir para instalar o Terraform manualmente:
brew install terraformVerifique a versão instalada:
terraform --version