PIP NUNCA MAIS, a nova ferramenta de Python que facilita sua vida
Eu gorsto de Rust, mas não sou um dos maiores fãs de javascript, mas independente disso, você sabe como o cargo
e o npm
torna o gerenciamento de projetos nessas linguagens algo muito mais saudavel, e é simplesmente BIZARRO que uma das linguagens mais usadas que é o Python não tem um real gerenciador de projetos.
É ridiculo depender do dev, pra a cada nova dependencia que ele baixa pro projeto Python, um novo pip freeze > requirements.txt
, por que você sabe que você já aconteceu de você adicionar uma nova dependencia mas esquecer de colocar ela no requirements.txt
, coisa que ferramentas como o cargo
e o npm
se responsabilizam por fazer, sem contar que geram arquivos de configuração, ambiente de desenvolvimentos, criam a estrutura base do projeto e tudo que QUALQUER LINGUAGEM CIVILIZADA DEVERIA FAZER
E o proposito desse artigo é basicamente compartilhar com todos que usam Python, a existencia do uv
uma ferramenta de linha de comandao pra projetos Python.
Se você faz alguma coisa em Python, eu garanto que se você baixar o uv
e literalemnte só aplicar os comandos basicos da ferramenta que eu vou passar aqui, você vai soltar um
"PIP NUNCA MAIS! PROBLEMA COM A VERSÃO DO PYTHON NUNCA MAIS, ESQUECER DE ATIVAR O AMBIENTE VIRTUAL E FU*** SUA MAQUINA COM PACOTES INDESEJADOS NUNCA MAIS"
Literalmente o básico
Criar um projeto Python
Isso irá criar o projeto pra você todos os arquivos basicos necessários
uv init meu_projeto
# ou
uv init
A estrutura é a seguinte
.
├── hello.py
├── pyproject.toml
├── .python-version
└── README.md
No arquivo .python-version
você pode colocar a versão desejada do python do projeto
E você roda tudo usando
uv run hello.py
# ou alguma coisa mais especifica como
uv run -- flask run -p 3000
E quando você rodar o projeto, vai ser automaticamente criada a pasta .venv
, que vai ser seu ambiente virtual, de onde vão estar suas dependencias e tudo
Mexer com dependencias é algo vital, e pra baixar elas, você usa
uv add nome_dependencia
uv add requests --git https://github.com/psf/requests
E ela vai ser automaticamente adicionada no arquivo pyproject.toml
[project]
name = "meu_projeto_uv"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.11"
dependencies = []
Pra desistalar uma dependencia você usa
uv remove nome_dependencia
E automaticamente ela é removida
E se você realmente quiser, você pode chamar o pip e ferramentas do tipo diretamente com comandos como
uv pip install flask
uv pip install "<package_name> @ https://github.com/<user>/<repo>"
uv venv my_env
uv venv 3rd_env --python 3.11
Apesar de como eu mostrei, não ser necessario, visto que o o uv
gerencia isso pra você
Eu garanto que se você usuario de python der uma chance, rapidamente você vai ver o valor nessa ferramente, e essa foi minha contribuição hoje
ADD Download
Pra baixar
curl -LsSf https://astral.sh/uv/install.sh | sh