2 puan yazan GN⁺ 2024-07-10 | 2 yorum | WhatsApp'ta paylaş

Rye: zahmetsiz Python deneyimi

Rye, Python projeleri ve paket yönetimi için bir çözümdür. Rye, tüm Python kullanıcıları için birleşik bir deneyim sunar; Python kurulumu, pyproject.toml tabanlı projeler, bağımlılıklar ve sanal ortamları sorunsuz şekilde yönetebilir. Karmaşık projeleri, monorepo'ları ve global araç kurulumlarını destekler.

Kurulum talimatları

Linux

  • İşletim sistemi ve CPU mimarinize uygun ikili dosyayı kuran curl komutunu çalıştırın
    curl -sSf https://rye.astral.sh/get | bash
    
  • En güncel sürüm ikili dosyasını indirip kurun
    gunzip rye-x86_64-linux.gz
    chmod +x ./rye-x86_64-linux
    ./rye-x86_64-linux
    

macOS

  • İşletim sistemi ve CPU mimarinize uygun ikili dosyayı kuran curl komutunu çalıştırın
    curl -sSf https://rye.astral.sh/get | bash
    
  • En güncel sürüm ikili dosyasını indirip kurun
    gunzip rye-aarch64-macos.gz
    chmod +x ./rye-aarch64-macos
    ./rye-aarch64-macos
    

Windows

  • En güncel sürüm ikili dosyasını indirip çalıştırın
  • "Developer Mode" etkinleştirilmesi önerilir
  • 64 bit Intel Windows: rye-x86_64-windows.exe
  • 32 bit Intel Windows: rye-x86-windows.exe

Dikkat edilmesi gerekenler

  • Rye henüz imzalı ikili dosyalar kullanmıyor. Çalıştırılabilir dosyaya izin vermeniz gerekir.
  • "Bearfoos" truva atı uyarısı görünebilir. Bu bir yanlış pozitiftir.
  • Rust ve Cargo gereklidir. rustup kullanılarak kurulabilir.
    cargo install --git https://github.com/astral-sh/rye rye
    

GN⁺ özeti

  • Rye, Python geliştiricileri için birleşik bir proje ve paket yönetimi çözümü sunar.
  • Karmaşık projeleri ve global araç kurulumlarını destekleyerek geliştirici deneyimini iyileştirir.
  • Kurulum sürecinde bazı dikkat noktaları olsa da genel olarak kullanımı kolaydır.
  • Benzer işlevlere sahip araçlar arasında Poetry ve Pipenv bulunur.

2 yorum

 
lum7671 2024-07-11

Bir süredir, şunu bunu kullandıktan sonra
Introduction - PDM
kullanıyorum.

Sanırım Rye'ı da denemem gerekecek.

 
GN⁺ 2024-07-10
Hacker News görüşleri
  • uv içinde birçok temel paketleme geliştirmesi yapılıyor ve Rye da uv kullanıyor

    • Yakın zamanda uv'ye "universal" çözümleme desteği eklendi; böylece tüm platform ve işletim sistemlerinde çalışan requirements.txt dosyaları oluşturulabiliyor
    • Rye da bunu son sürümünde destekliyor
    • Rye ve uv hakkında sorular varsa yanıtlayabilirim
  • Rye'ın dezavantajı, standart dışı Python derlemelerinin kullanılmasını güçlü biçimde önermesi

    • Rye'ın felsefe sayfasına göre CPython derlemeleri tamamen yetersiz ve farklı platformlarda çeşitli sorunlara yol açıyor
    • Bu proje indygreg standalone derlemelerini kullanıyor
    • Başka bir Python da seçilebiliyor
    • Resmi Python derlemeleriyle hiç sorun yaşamadım ve standart dışı derlemelerin kullanımına dair endişelerim var
  • Rye'ı seven çok kullanıcı var

    • Rye, venv/Python sürümü/paketleme sürecini gerçekten keyifli hale getiriyor
    • Python'ı Cargo gibi hissettiriyor
  • HN'deki alaycılığa şaşıran kullanıcılar da var

    • Başka dillerin paket yöneticilerini (cargo, hex) kullandıktan sonra, Python'da benzer bir sistem olmaması hayal kırıklığı yaratıyordu
    • Rye bu sorunu tamamen çözüyor
  • Yeni bir Python bağımlılık yöneticisi, yeni bir JavaScript framework'ü görmek gibi

  • pixi'yi seven kullanıcılar da var

    • pixi, Python sürümünü sabitliyor ve conda ile PyPI'dan paket kurulmasına izin veriyor
    • Rust ile yazılmış
  • Python dışı geliştiriciler, Python projelerindeki DX'in neden bu kadar kötü olduğunu anlamıyor

    • npm/node, proje bootstrap etme ve bağımlılıkları anlama açısından çok kolay
    • Python'ın requirements.txt için olgun bir alternatif bulmasının neden bu kadar uzun sürdüğü sorgulanıyor
  • uv ekibinin Armin projesini devraldığını belirtmekte fayda var

  • Rye harika görünüyor ve Poetry'yi de severek kullanıyorum

    • Go'nun yüksek kaliteli varsayılan araçlarına büyük saygı duyuyorum
    • Python projesine her başladığımda bağımlılık/venv yönetimini yeniden öğrenmem gerekiyormuş gibi hissediyorum
  • Rye tanıtım sayfasına göre Rye hâlâ oldukça deneysel bir araç

    • Bu proje için çok heyecanlıyım ama daha olgun bir aşamaya gelene kadar beklemeyi planlıyorum
    • Astral ekibinin diğer tüm projelerini sevdiğim için beklentim yüksek