15 puan yazan GN⁺ 2025-01-13 | 5 yorum | WhatsApp'ta paylaş
  • Performans ya da Python ile uyumluluk, uv’nin ayırt edici yönü değil. uv, PEP’lere uyuyor ve Python paket yöneticisi olarak tavsiye edilebilir. Ancak en şaşırtıcı özelliği başka.
  • Python 3.12 ile ad-hoc betik yazarken, sık sık Pandas gibi bağımlılıklar eklemek gerekebiliyor. Yaygın yöntemler şunlar:
    • pip install pandas çalıştırarak global ortamı değiştirmek veya
    • bir sanal ortam oluşturup pip install pandas çalıştırmak, sanal ortamı etkinleştirmek ve ardından Python’u çalıştırmak.
  • Farklı bir Python sürümü gerekirse, sürümü yüklemek ve yerel olarak ayarlamak için pyenv kullanmak gerekiyor. En kötü senaryoda:
    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
  • uv ile ise bunu tek satırlık bir komutla yapmak mümkün:
    • uv run --python 3.12 --with pandas python
    • Akılda kalması kolay ve geride iz bırakmıyor. İyi betik yazmalar!

5 yorum

 
tribela 2025-01-15

Hâlâ poetry kullanıyorum ama yavaştan geçmem gerekecek gibi görünüyor. virtualenv wrapper’a da elveda diyeceğiz anlaşılan

 
roxie 2025-01-14

Sanırım pip'i gerçekten bırakmanın zamanı gelmiş.

 
dongho42 2025-01-14

uv için, init yaparken gereksiz şeylerin yığınla eklenmesi dışında her şeyden memnunum ve gayet iyi kullanıyorum.

 
GN⁺ 2025-01-13
Hacker News görüşü
  • uv paket yöneticisini çok beğendiklerini ve topluluğun standardı haline gelmesini istediklerini söyleyenler var. Özellikle yeni kullanıcılara önerilebilecek bir araç

  • uv, PEP 723 satır içi betik bağımlılıklarını destekleyerek daha temiz bir kullanım sunuyor

  • Bir NodeJS geliştiricisi olarak, Python'daki ortam yapılandırma sorununun hâlâ çözülmemiş olmasına şaşıranlar var. Node da kusursuz değil ama küresel ortamın değiştirilmesi konusunda endişe yok

  • virtualenv etkinleştirmesi gerekmiyor ve pyenv yorumlayıcı ayarı olmadan da doğrudan sanal ortam oluşturulabiliyor

  • uv'nin tek bir araç çalıştırmasına birden çok işlevin bağlanmasının rahatsız edici olduğunu düşünenler var. venvyi etkinleştirip programları birden fazla kez çalıştırabilmek daha kullanışlı

  • uv, uvx komutu sayesinde Python betiklerini elle kurulum yapmadan çalıştırabiliyor

    • Örnek: uvx --from 'huggingface_hub[cli]' huggingface-cli
  • uv'yi beğenen ve yakında denemek isteyen ama yazının ana fikrini anlayamadığını söyleyenler var. pyenv ve poetry ile de yerel bağımlılıklar alınabiliyor

  • Başka ikili bağımlılıklar varsa, Nix ve virtualenv + pip-tools kullanmak daha iyi bir seçenek olabilir

  • Önce sanal ortamı "doğru yolda" etkinleştirip ardından pandas kurulması gerektiğini söyleyenler var