15 pontos por GN⁺ 2025-01-13 | 5 comentários | Compartilhar no WhatsApp
  • Desempenho ou compatibilidade com Python não são o diferencial do uv. O uv segue as PEPs e é recomendável como gerenciador de pacotes para Python. Porém, existe outro recurso ainda mais surpreendente.
  • Ao fazer scripting ad-hoc em Python 3.12, às vezes é preciso adicionar dependências como o Pandas. O método comum é o seguinte:
    • executar pip install pandas e modificar o ambiente global, ou
    • criar um ambiente virtual, executar pip install pandas, ativar o ambiente virtual e então rodar o Python.
  • Se for necessária outra versão do Python, é preciso usar o pyenv para instalar e definir a versão localmente. No pior caso:
    1. pyenv install 3.12
    2. pyenv local 3.12
    3. python -m venv .venv
    4. source .venv/bin/activate
    5. pip install pandas
    6. python
  • Com o uv, isso é possível com um único comando:
    • uv run --python 3.12 --with pandas python
    • É fácil de lembrar e não deixa rastros. Boa diversão com seus scripts!

5 comentários

 
tribela 2025-01-15

Ainda uso poetry, mas já está na hora de começar a migrar. Pelo visto, também vai ser adeus ao virtualenv wrapper.

 
roxie 2025-01-14

Parece que finalmente chegou a hora de largar o pip de vez.

 
dongho42 2025-01-14

Estou usando o uv com bastante satisfação em praticamente tudo, exceto pelo fato de que, toda vez que faço init, ele traz junto um monte de coisas desnecessárias.

 
GN⁺ 2025-01-13
Comentários do Hacker News
  • Há quem goste muito do gerenciador de pacotes uv e gostaria que ele se tornasse o padrão da comunidade. É uma ferramenta especialmente recomendável para novos usuários

  • O uv oferece suporte a dependências inline de scripts do PEP 723, permitindo um uso mais limpo

  • Como desenvolvedor NodeJS, é surpreendente que o problema de configuração de ambiente do Python ainda não tenha sido resolvido. Node também não é perfeito, mas não há preocupação com modificar o ambiente global

  • Não é necessário ativar o virtualenv, e é possível criar diretamente um ambiente virtual sem configurar o interpretador com pyenv

  • Há quem considere incômodo que várias funções estejam agrupadas em uma única ferramenta no uv. Ativar o venv e executar programas várias vezes pode ser mais conveniente

  • O uv inclui o comando uvx, que permite executar scripts Python sem instalação manual

    • Exemplo: uvx --from 'huggingface_hub[cli]' huggingface-cli
  • Há quem goste do uv e queira experimentá-lo em breve, mas diga não ter entendido o ponto principal do artigo. Também é possível usar pyenv e poetry para obter dependências locais

  • Quando há outras dependências binárias, usar Nix com virtualenv + pip-tools pode ser uma escolha melhor

  • Há quem diga que primeiro é preciso ativar o ambiente virtual no "caminho correto" e depois instalar o pandas