Yeni Nesil Python Paket Yöneticisi: uv
Bir Python projesinin olmazsa olmazı paket yöneticisidir. Bunun en bilineni pip olmakla birlikte paket yöneticileri sadece bununla sınırlı değil. pipx, poetry gibi projeler de farklı ihtiyaçları karşılamak için ortaya çıkmışlar. Ancak bunların arasında bir tanesi var ki çok hızlı çalışıyor ve kullanması oldukça zevkli: uv.
Uv'nin her özelliğini kullandığımı söyleyemem. Daha çok pip ve venv özelliklerini kullanıyorum ve
bunları tanıtmak istedim. Paket yüklemek ve güncellemek gerçekten hızlı ve tek yapmanız gereken pip
komutlarının önüne uv
eklemeniz.
Uv Yükleme¶
Kullandığınız işletim sistemine bağlı olarak yükleme yöntemi değişiklik gösterecektir. MacOS kullanıyorsanız homebrew ile brew install uv
komutu ile yükleyebilirsiniz. Linux altında iseniz aşağıdaki komut ile yükleyebilirsiniz.
Yeni Sanal Ortam Oluşturma¶
Şu anki Python ile .venv
dizininde bir sanal ortam oluşturacaktır. Devamında
source .venv/bin/activate
ile bunu etkinleştirebilirsiniz. Benim gibi
fish kullanıyorsanız bunun yerine source .venv/bin/activate.fish
komutunu kullanmanız gerekmekte. Uv hangi kabuğu kullandığınızı anlayarak gerekli komutu yazmakta.
Eğer spesifik bir Python sürümü ile sanal ortam oluşturmak istiyorsanız -p
parametresini
kullanmanız yeterli. uv venv -p PYTHON-SURUMU
komutu ile bunu başarabilirsiniz.
Paket Yükleme¶
pip
ile geriye uyumlu şekilde çalışıyor, en güzel özelliği de bu. Herhangi bir pip
komutunun
önüne uv
ekleyerek istediğimiz sonucu elde edebiliyoruz. Örneğin requirements.txt
dosyasından paketleri yüklemek istediğimizde aşağıdaki komutu çalıştırmamız yeterli.
Python Versiyonlarını Görme / Yükleme¶
Komutu ile hangi Python versiyonlarının yüklenmiş ve kullanılabilir olduğunu görebiliyoruz. Eğer sistemimizde olmayan bir sürümü yüklemek istersek aşağıdaki komutu kullanmamız yeterli olacaktır.
Sonrasında venv oluştururken hangi python sürümünü kullanacağımızı belirtmemiz yeterli. Yukarıda
bahsettiğim gibi uv venv -p SURUM
komutu ile bunu başarabiliyoruz.
Yeni Proje Başlatma¶
İçinde bulunduğunuz dizin içerisinde pyproject.toml
ve minimal bir dizin yapısını oluşturur.
pypyroject.toml
yönetimi için uv add
ve uv remove
komutlarını kullanabiliyoruz. Bu komutlar
projeye paket ekliyor veya çıkarıyor.
Sonuç¶
Etrafta birçok venv ve paket yöneticisi var ancak uv aralarında en hızlı çalışanı. Uv kullanmaya başladığımdan beri paket yüklemek ve çıkarmak çok daha hızlı olmaya başladı ve kullanması oldukça keyifli.
Tabii ki kullanmadığım birçok özelliği var. Bu özelliklere uv belgelerinden ulaşabilirsiniz.