Sayfa başlığı dekoratif desen Sayfa başlığı dekoratif dalga

uv Python Paket Yöneticisi Rehberi 2026: pip ve Poetry'ye Rust Tabanlı Hızlı Alternatif

Ana SayfaHaberler › uv Python Paket Yöneticisi Rehberi 2026: pip ve Poet...

uv Python Paket Yöneticisi Rehberi 2026: pip ve Poetry'ye Rust Tabanlı Hızlı Alternatif

30.05.2026 4 görüntülenme

Python ile çalışıyorsanız, paketlerin kurulurken neden bu kadar uzun süre beklettiğini en az bir kez merak etmişsinizdir. İşte tam da burada uv (uv Python package manager) devreye giriyor. Astral tarafından Rust ile yazılan uv; pip, pip-tools, virtualenv ve Poetry'nin yaptığı her şeyi tek bir araçta toplayan, üstelik 10-100 kat daha hızlı (10-100x faster) bir paket ve proje yöneticisi. Alesta Web ekibi olarak son aylarda iç Python projelerimizin tamamını uv'ye taşıdık ve sonuç gerçekten fark ediliyor. Bu rehberde uv'nin ne olduğunu, nasıl kurulduğunu ve alestaweb.com'da paylaştığımız diğer geliştirici araçlarıyla birlikte projelerinize nasıl entegre edeceğinizi adım adım anlattık.

uv Nedir? (What is uv?)

uv, Python dünyasının dağınık araç setini tek çatı altında toplayan modern bir paket yöneticisidir (Python package manager). Aynı ekibin daha önce çıkardığı Ruff linter'ı ile aynı felsefeyi taşır: Rust ile yaz, çok hızlı olsun, kullanımı basit kalsın. Yani uv'yi kurduğunuzda; sanal ortam oluşturma (virtual environment), bağımlılık çözme (dependency resolution), paket kurma (package installation), kilitleme dosyası üretme (lock file) ve hatta Python'un kendisini indirme gibi işlerin hepsini tek komutla yapabiliyorsunuz.

Yazının hazırlandığı tarihte uv'nin en güncel sürümü 0.11.17 (28 Mayıs 2026) idi. Proje aktif olarak geliştiriliyor ve üretim ortamlarında yaygın şekilde kullanılıyor. Alesta Web olarak deneyimimize göre uv'yi bu kadar değerli kılan şey hız değil sadece; tek bir aracın pip + venv + pip-tools + pipx + Poetry kombinasyonunun yerini alması, ekipteki herkesin aynı komutları kullanması demek.

💡 Bilgi / Info:

uv, pip ile uyumlu bir arayüze sahiptir. Yani uv pip install komutu, alıştığınız pip install gibi çalışır ama Rust hızında. Bu sayede mevcut projelerinize neredeyse hiç değişiklik yapmadan geçebilirsiniz (drop-in replacement).

Neden uv? pip ve Poetry Karşılaştırması (Why uv vs pip & Poetry?)

Peki neden mevcut araçları bırakıp uv'ye geçelim? Basit bir cevabı var: hız ve sadelik. Büyük bağımlılık ağaçlarında pip'in dakikalarca sürebildiği kurulumlar, uv ile saniyelere iniyor. Bunun iki temel sebebi var. Birincisi, uv Rust ile yazıldığı için bağımlılık çözümü (dependency resolution) çok daha verimli. İkincisi, global bir önbellek (global cache) tutarak aynı paketi disk üzerinde tekrar tekrar saklamıyor; bu hem disk alanından tasarruf sağlıyor hem de tekrar kurulumları neredeyse anlık hale getiriyor.

Özellik / Feature pip + venv Poetry uv
Hız (speed)YavaşOrta10-100x hızlı
Lock fileHayır (pip-tools gerek)Varuv.lock
Python kurmaHayırHayırEvet
WorkspaceHayırKısmenCargo tarzı

Tabloyu kafanızda şöyle canlandırın: pip işini görür ama yavaştır ve eksik parçaları (lock, Python sürümü) başka araçlarla tamamlamanız gerekir. Poetry bunları toparlar ama yine de yavaş kalır. uv ise tek başına hepsini, üstelik en hızlı şekilde halleder. Alesta Web uzmanları olarak özellikle CI/CD süreçlerinde bu hız farkının dakikalarca zaman kazandırdığını gözlemledik.

Kurulum (Installation)

uv'yi kurmak tek satırlık bir iş. Sisteminize göre aşağıdaki komutlardan birini çalıştırmanız yeterli. Dikkat edin: uv kendi başına bağımsız bir ikili (standalone binary) olarak gelir, yani önceden bir Python kurulu olmasına bile gerek yok.

Linux / macOS Kurulumu (Install on Linux/macOS)

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows Kurulumu (Install on Windows - PowerShell)

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Alternatif: pip veya pipx ile

pip install uv
# veya
pipx install uv

Kurulumdan sonra sürümü doğrulayın:

Sürüm Kontrolü (Version Check)

uv --version
# uv 0.11.17

# uv'yi kendi içinden güncelleme:
uv self update
✅ Başarılı / Success:

Sürüm numarasını gördüyseniz uv hazır demektir. Artık projelerinizi yönetmeye başlayabilirsiniz.

İlk Proje: uv init, uv add, uv run

Şimdi gelelim asıl konuya: gerçek bir projede uv nasıl kullanılır? Yeni bir proje başlatalım. uv, modern Python standardı olan pyproject.toml dosyasını otomatik oluşturur.

Yeni Proje Başlatma (uv init)

uv init alesta-demo
cd alesta-demo

# Olusan yapi:
# alesta-demo/
#   pyproject.toml
#   .python-version
#   README.md
#   main.py

Bağımlılık eklemek için uv add kullanılır. İlk uv add komutunu çalıştırdığınızda uv, sanal ortamı (.venv) otomatik oluşturur ve paketi kurar. Ayrıca uv.lock dosyasını günceller; böylece ekipteki herkes tam olarak aynı sürümleri kurar (reproducible builds).

Paket Ekleme (uv add)

uv add requests
uv add "fastapi>=0.115"

# Sadece gelistirme bagimliligini ekle:
uv add --dev pytest ruff

# Paket cikarma:
uv remove requests

Çalıştırma ve Senkronizasyon (uv run, uv sync)

# Projeyi sanal ortam icinde calistir:
uv run main.py

# pyproject.toml + uv.lock'a gore ortami eslestir:
uv sync

Burada güzel olan şey, ayrı ayrı "sanal ortamı aktive et", "paketleri kur", "doğru Python'u seç" adımlarıyla uğraşmamanız. uv run bunların hepsini arka planda hallediyor. Gördünüz mü? Çok basitmiş aslında.

Python Sürüm Yönetimi (Python Version Management)

uv'nin en sevdiğimiz özelliklerinden biri, Python'un kendisini de yönetebilmesi. Yani makinenizde hiç Python olmasa bile uv ile istediğiniz sürümü indirip projelere atayabilirsiniz. Bu, daha önce pyenv gibi ayrı bir araç gerektiren bir işti.

Python Kurma ve Seçme

# Belirli bir Python surumunu indir:
uv python install 3.13

# Kurulu surumleri listele:
uv python list

# Projeye Python surumu sabitle:
uv python pin 3.13
⚠️ Dikkat / Warning:

Tek dosyalık scriptler için bile uv harika çalışır. Script başına bağımlılık tanımlayıp uv run script.py diyebilirsiniz; uv geçici, izole bir ortam kurup scripti çalıştırır. Böylece sistem Python'unuzu kirletmemiş olursunuz (no global pollution).

pip'ten Geçiş ve Sık Hatalar (Migration & Common Errors)

Alesta Web olarak ekipleri uv'ye geçirirken en çok karşılaştığımız soruları ve çözümlerini derledik.

❌ "uv: command not found" hatası

Sebep: uv PATH'e eklenmemis.
Cozum: Kurulumdan sonra terminali yeniden baslatin
veya ~/.bashrc / ~/.zshrc dosyasini 'source' edin.
export PATH="$HOME/.local/bin:$PATH"

requirements.txt projesini taşıma

# Mevcut requirements.txt ile uyumlu kurulum:
uv pip install -r requirements.txt

# Daha modern yaklasim: pyproject.toml'a tasi
uv add -r requirements.txt

❌ "403 Forbidden" özel paket deposu (private registry)

Kimlik dogrulamali ozel PyPI deposu kullaniyorsaniz
UV_INDEX ortam degiskenini ve token'i dogru verin.
uv 0.11 surumu bu durumda daha acik hata mesaji gosterir.

Eğer Python paket yöneticileri konusu ilginizi çekiyorsa, JavaScript tarafındaki benzer karşılaştırmayı pnpm vs npm vs Yarn rehberimizde ele almıştık. Astral ekosisteminin diğer aracı için ise Python ty type checker yazımıza göz atabilirsiniz.

Alesta Web Üretim İpuçları (Production Tips)

Deneyimlerimize göre uv'den en iyi verimi almak için birkaç pratik öneri:

  • CI/CD'de cache kullanın: uv'nin global cache dizinini iş hattında saklayın; build süreleri ciddi düşer (faster CI builds).
  • uv.lock'u commit edin: Lock dosyasını sürüm kontrolüne ekleyin ki üretim ve geliştirme birebir aynı paketleri kursun (reproducible installs).
  • Docker imajlarında çok aşamalı build: uv ile bağımlılıkları ayrı katmanda kurarak imaj boyutunu küçültün.
  • uv pip compile: requirements'larınızı sabitlenmiş (pinned) hale getirmek için uv pip compile kullanın.
💡 Bilgi / Info:

uv'yi Docker içinde kullanırken resmi ghcr.io/astral-sh/uv imajından uv ikilisini kopyalamak, en temiz yöntemlerden biridir. Alesta Web ekibi olarak konteyner tabanlı dağıtımlarımızda bu yaklaşımı tercih ediyoruz.

📚 Kaynaklar ve Referanslar / References

Bu makalede kullanılan bilgiler aşağıdaki güvenilir kaynaklardan derlenmiş ve Alesta Web tarafından test edilmiştir (verified and tested):

✅ Özetle: uv ile Daha Hızlı Python (Faster Python with uv)

uv, Python paket yönetiminde yıllardır beklenen sadeleşmeyi getiriyor. Tek bir araç; sanal ortam, bağımlılık, lock dosyası ve Python sürümünü yönetiyor — hem de pip'e göre 10-100 kat hızlı. Alesta Web olarak yeni başlayan her Python projesinde uv kullanmanızı öneriyoruz.

Hızlı Özet / Quick Summary:

  • ✅ uv kuruldu (uv installed) — tek satır komut
  • ✅ uv init ile proje, uv add ile bağımlılık
  • ✅ uv python ile Python sürüm yönetimi
  • ✅ uv.lock ile tekrarlanabilir kurulum (reproducible builds)

Faydalı Bağlantılar / Useful Links:

Sorularınız mı var? Alesta Web ekibi olarak yorumlardan size yardımcı olmaktan memnuniyet duyarız.

© 2026 Alesta Web - Tüm hakları saklıdır.

Etiketler: Haberler