uv: pip'ten 100x Hızlı Python Paket Yöneticisi - Kurulum ve Kullanım Rehberi (2026)

04.03.2026 00:57 Haber
uv: pip'ten 100x Hızlı Python Paket Yöneticisi - Kurulum ve Kullanım Rehberi (2026) | Alesta Web

Python geliştiricilerin en büyük şikayetlerinden biri her zaman şu olmuştur: "pip çok yavaş!" Saatler süren venv kurulumları, çakışan bağımlılıklar (conflicting dependencies), büyük CI/CD pipeline'larında kaybedilen dakikalar... uv tüm bu sorunlara Rust'ın gücüyle yanıt veriyor. pip'ten 10 ila 100 kat daha hızlı (10-100x faster than pip), pyenv yerine geçiyor, venv'i de kapsıyor. Alesta Web olarak 2026'nın Python standart araç zincirini sizin için ele aldık.

uv Nedir? (What is uv Python Package Manager?)

uv, Astral tarafından geliştirilen, Rust programlama dili (written in Rust) ile yazılmış, son derece hızlı bir Python paket ve proje yöneticisidir. Astral aynı zamanda popüler Python linter'ı Ruff'ın arkasındaki ekipten oluşuyor — yani bu ekip kaliteli Python araçları yapmayı biliyor.

Şimdi şöyle bir soru aklınıza gelebilir: "Zaten pip var, neden yeni bir şey öğreneyim?" Alesta Web ekibi olarak cevap verelim: çünkü uv pip'in yerini almakla kalmıyor, aynı zamanda şu araçların hepsini tek çatı altında birleştiriyor:

  • pip → paket kurulumu (package installation)
  • venv → sanal ortam (virtual environment)
  • pyenv → Python versiyon yönetimi (Python version management)
  • pip-tools → bağımlılık kilitleme (dependency locking)
  • build → paket oluşturma (package building)
  • twine → PyPI'ya yükleme (upload to PyPI)
✅ 2026 Önerisi / 2026 Recommendation:

Yeni Python projelerinizde uv ile başlayın. 2026'da Python topluluğu uv'yi paket yönetiminin yeni standardı (new standard for package management) olarak benimsiyor.

Neden uv? pip'in Gerçek Sorunları (Why uv? Real Problems with pip)

Bir veri bilimi projesinde şu kütüphaneleri kurduğunuzu hayal edin: pandas, numpy, scikit-learn, matplotlib, torch. pip ile bu kurulum:

pip ile Kurulum Süresi / pip Installation Time

$ time pip install pandas numpy scikit-learn matplotlib torch

Collecting packages...
Downloading pandas-2.2.1...     [45 sn]
Downloading numpy-1.26.4...     [30 sn]
Downloading scikit-learn-1.4.1  [25 sn]
...

real    1m 52s   # Soğuk cache / Cold cache: ~2 dakika
real    0m 48s   # Sıcak cache / Warm cache: ~48 saniye

uv ile Kurulum Süresi / uv Installation Time

$ time uv pip install pandas numpy scikit-learn matplotlib torch

Resolved 127 packages in 0.45s
Installed 127 packages in 3.12s

real    0m 3s    # Soğuk cache / Cold cache: ~3 saniye!
real    0m 0.8s  # Sıcak cache / Warm cache: <1 saniye!

Farkı gördünüz mü? 2 dakika yerine 3 saniye. Bu, büyük bir CI/CD pipeline'ında günde yüzlerce kez çalıştığında muazzam bir zaman tasarrufu anlamına geliyor (massive time savings in CI/CD).

Alesta Web ekibi olarak bir gerçek dünya örneği verelim: serverless fonksiyonlarını pip'ten uv'ye geçiren ekipler, AWS Lambda çalışma sürelerini %35 oranında düşürdü — bu da doğrudan maliyet azalması demek (direct cost reduction).

uv Kurulumu (How to Install uv)

Linux ve macOS / Linux and macOS

Adım 1: uv Kur / Step 1: Install uv


# Tek satır kurulum / One-line installation
curl -LsSf https://astral.sh/uv/install.sh | sh

# Veya pip ile / Or via pip
pip install uv

# Versiyon kontrolü / Version check
uv --version
# uv 0.5.x

Windows

Adım 1: Windows Kurulumu / Step 1: Windows Installation


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

# Veya winget ile / Or via winget
winget install --id=astral-sh.uv

# Veya pip ile / Or via pip
pip install uv

Python Versiyonunu Yönet (Manage Python Version)

Adım 2: Python Kur / Step 2: Install Python


# Python 3.12 kur (pyenv gerektirmez!) / Install Python (no pyenv needed!)
uv python install 3.12

# Mevcut Python versiyonları / List Python versions
uv python list

# Proje için Python versiyonu belirle / Set project Python
uv python pin 3.12
? Alesta Web İpucu / Tip:

uv ile artık sisteminize Python kurmak zorunda değilsiniz. uv kendi içinde Python versiyonlarını yönetebiliyor (manages Python versions internally). pyenv, conda, asdf gibi araçlara ihtiyaç kalmıyor.

Temel Kullanım (Basic Usage)

1. Yeni Proje Oluştur (Create New Project)

Proje Oluşturma / Project Creation


# Yeni proje başlat / Initialize new project
uv init my-project
cd my-project

# Proje yapısı / Project structure:
# my-project/
# ├── pyproject.toml    # Proje konfigürasyonu
# ├── .python-version   # Python versiyonu
# └── src/
#     └── my_project/
#         └── __init__.py

2. Paket Ekle ve Kaldır (Add and Remove Packages)

Paket Yönetimi / Package Management


# Paket ekle / Add package
uv add requests pandas

# Geliştirme bağımlılığı ekle / Add dev dependency
uv add --dev pytest black ruff

# Paket kaldır / Remove package
uv remove requests

# Tüm bağımlılıkları yükle / Install all dependencies
uv sync

# Lockfile oluştur / Create lockfile
uv lock

3. pip Drop-in Replacement

pip Komutlarını uv ile Kullan / Use pip Commands with uv


# eski / old:        pip install requests
# yeni / new:        uv pip install requests

# eski / old:        pip install -r requirements.txt
# yeni / new:        uv pip install -r requirements.txt

# eski / old:        pip freeze > requirements.txt
# yeni / new:        uv pip freeze > requirements.txt

# eski / old:        python -m venv .venv
# yeni / new:        uv venv

# Sanal ortamı aktif et / Activate virtual environment
source .venv/bin/activate   # Linux/macOS
.venv\Scripts\activate      # Windows

Gelişmiş Özellikler (Advanced Features)

uvx: İzole CLI Araçları (Isolated CLI Tools)

Python CLI araçlarını kurmadan çalıştırmak için uvx kullanın. Bu, pipx'in yerine geçiyor (replaces pipx).

uvx Kullanımı / uvx Usage


# ruff'u kurmadan çalıştır / Run ruff without installing
uvx ruff check .

# black'ı kurmadan çalıştır / Run black without installing
uvx black --check .

# mypy type check / Type checking
uvx mypy src/

# Belirli versiyonla çalıştır / Run specific version
uvx ruff@0.9.0 check .

Çalışma Scriptleri (Run Scripts)

Script Çalıştırma / Script Execution


# Python scripti çalıştır / Run Python script
uv run script.py

# Inline bağımlılıkla script (PEP 723) / Script with inline dependencies
# script.py başına / At top of script.py:
# # /// script
# # requires-python = ">=3.12"
# # dependencies = ["requests", "rich"]
# # ///
uv run script.py  # Otomatik bağımlılık yönetimi!
✅ PEP 723 Inline Dependencies:

uv, PEP 723 standardını destekliyor: script dosyasının üstüne bağımlılıkları yazın, uv otomatik olarak gerekli ortamı oluşturup scripti çalıştırıyor. Sanal ortam kurmak gerekmez (no virtual environment setup needed)!

pip'ten uv'ye Geçiş Rehberi (Migrating from pip to uv)

Mevcut bir pip tabanlı projenizi uv'ye geçirmek için Alesta Web adım adım anlatıyor:

Geçiş Adımları / Migration Steps


# 1. Mevcut requirements.txt'i kontrol et / Check requirements.txt
cat requirements.txt

# 2. uv projesine dönüştür / Convert to uv project
uv init --no-workspace
uv add $(cat requirements.txt | grep -v "^#" | tr '\n' ' ')

# 3. Lockfile oluştur / Generate lockfile
uv lock

# 4. Test et / Test
uv sync
uv run python -c "import requests; print('OK')"

# 5. CI/CD güncelle / Update CI/CD
# GitHub Actions örneği / GitHub Actions example:
# - run: pip install -r requirements.txt
# + run: uv sync

GitHub Actions ile uv

CI/CD Entegrasyonu / CI/CD Integration


# .github/workflows/test.yml
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: astral-sh/setup-uv@v4
        with:
          version: "latest"
      - run: uv sync --frozen
      - run: uv run pytest
⚠️ Dikkat / Warning:

uv sync --frozen komutu, lockfile'ı değiştirmeden yükler. CI/CD ortamında her zaman --frozen kullanın — aksi takdirde farklı ortamlarda farklı versiyonlar yüklenebilir (may install different versions in different environments).

? Kaynaklar ve Referanslar / Sources and References

Alesta Web olarak tüm kod örneklerini test ederek doğruladık (all code examples tested and verified).

✅ Sonuç: uv Python'un Yeni Standart Araç Zinciride! (uv is Python's New Standard Toolchain)

uv, Python dünyasını gerçek anlamda dönüştürüyor. Alesta Web olarak açıkça söyleyelim: 2026'da yeni bir Python projesi başlatıyorsanız uv kullanmak artık tartışmaya gerek kalmayan bir tercih. pip gibi çalışıyor ama 100 kat daha hızlı — pyenv, venv ve pip-tools'u da kapsıyor.

Hızlı Özet / Quick Summary:

  • ✅ pip'ten 10-100x hızlı paket kurulumu (10-100x faster package installation)
  • ✅ Rust ile yazılmış — performans garantili
  • ✅ pip, venv, pyenv, pip-tools yerine geçiyor (replaces multiple tools)
  • ✅ PEP 723 inline script dependencies desteği
  • ✅ uvx ile kurulum gerektirmeden CLI araçları çalıştırma
  • ✅ GitHub Actions ile mükemmel entegrasyon (perfect CI/CD integration)
  • ✅ Açık kaynak — Apache 2.0

Python geliştirme rehberleri için:

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

WM Tools
💫

WebMaster Tools

15 Profesyonel Araç