2 poin oleh GN⁺ 2024-07-10 | 2 komentar | Bagikan ke WhatsApp

Rye: pengalaman Python tanpa kerepotan

Rye adalah solusi manajemen proyek dan paket Python. Rye menyediakan pengalaman terpadu untuk semua pengguna Python, serta memungkinkan pengelolaan instalasi Python, proyek berbasis pyproject.toml, dependensi, dan lingkungan virtual secara mulus. Mendukung proyek yang kompleks, monorepo, dan instalasi alat global.

Petunjuk instalasi

Linux

  • Jalankan perintah curl untuk memasang biner yang sesuai dengan sistem operasi dan arsitektur CPU
    curl -sSf https://rye.astral.sh/get | bash
    
  • Unduh dan pasang biner rilis terbaru
    gunzip rye-x86_64-linux.gz
    chmod +x ./rye-x86_64-linux
    ./rye-x86_64-linux
    

macOS

  • Jalankan perintah curl untuk memasang biner yang sesuai dengan sistem operasi dan arsitektur CPU
    curl -sSf https://rye.astral.sh/get | bash
    
  • Unduh dan pasang biner rilis terbaru
    gunzip rye-aarch64-macos.gz
    chmod +x ./rye-aarch64-macos
    ./rye-aarch64-macos
    

Windows

  • Unduh lalu jalankan biner rilis terbaru
  • Disarankan mengaktifkan "Developer Mode"
  • Windows Intel 64-bit: rye-x86_64-windows.exe
  • Windows Intel 32-bit: rye-x86-windows.exe

Hal yang perlu diperhatikan

  • Rye masih belum menggunakan biner yang ditandatangani. Anda perlu mengizinkan file eksekusi.
  • Peringatan trojan "Bearfoos" mungkin muncul. Ini adalah positif palsu.
  • Rust dan Cargo diperlukan. Dapat diinstal menggunakan rustup.
    cargo install --git https://github.com/astral-sh/rye rye
    

Ringkasan GN⁺

  • Rye menyediakan solusi terpadu untuk manajemen proyek dan paket bagi pengembang Python.
  • Mendukung proyek kompleks dan instalasi alat global untuk meningkatkan pengalaman pengembang.
  • Proses instalasinya memerlukan beberapa perhatian, tetapi secara keseluruhan mudah digunakan.
  • Alat dengan fungsi serupa antara lain Poetry dan Pipenv.

2 komentar

 
lum7671 2024-07-11

Sudah agak lama, tetapi setelah mencoba ini-itu,
saya menggunakan
Introduction - PDM
.

Sepertinya saya juga harus mencoba menggunakan Rye.

 
GN⁺ 2024-07-10
Komentar Hacker News
  • Banyak pengembangan inti packaging sedang berlangsung di uv, dan Rye juga menggunakan uv

    • Baru-baru ini, dukungan resolusi "universal" ditambahkan ke uv sehingga kini bisa membuat file requirements.txt yang berfungsi di semua platform dan sistem operasi
    • Rye juga mendukung ini dalam rilis terbarunya
    • Jika ada pertanyaan tentang Rye dan uv, bisa dijawab
  • Kekurangan Rye adalah ia sangat menganjurkan penggunaan build Python nonstandar

    • Menurut halaman filosofi Rye, build CPython sepenuhnya tidak memadai dan menimbulkan berbagai masalah di beragam platform
    • Proyek ini menggunakan build standalone indygreg
    • Bisa juga memilih Python lain
    • Belum pernah mengalami masalah pada build Python resmi, sehingga ada kekhawatiran tentang penggunaan build nonstandar
  • Ada banyak pengguna yang menyukai Rye

    • Rye benar-benar membuat proses venv/versi Python/packaging menjadi nyaman
    • Membuat Python terasa seperti Cargo
  • Ada juga pengguna yang terkejut dengan sikap sinis di HN

    • Setelah menggunakan package manager bahasa lain (cargo, hex), terasa disayangkan bahwa Python tidak punya sistem serupa
    • Rye sepenuhnya menyelesaikan masalah ini
  • Menemukan pengelola dependensi Python baru itu seperti menemukan framework JavaScript baru

  • Ada juga pengguna yang menyukai pixi

    • pixi dapat mengunci versi Python dan memungkinkan pemasangan paket dari conda dan PyPI
    • Ditulis dengan Rust
  • Pengembang non-Python tidak memahami mengapa DX proyek Python begitu buruk

    • npm/node membuat bootstrap proyek dan pemahaman dependensi sangat mudah
    • Mereka bertanya-tanya mengapa Python butuh waktu selama ini untuk menemukan alternatif yang matang bagi requirements.txt
  • Perlu dicatat bahwa tim uv telah mengambil alih proyek Armin

  • Rye terlihat hebat, dan Poetry juga sering dipakai dengan senang hati

    • Ada rasa hormat besar terhadap tool bawaan Go yang berkualitas tinggi
    • Setiap kali memulai proyek Python, rasanya harus belajar lagi soal manajemen dependensi/venv
  • Menurut halaman pengantar Rye, Rye masih merupakan alat yang sangat eksperimental

    • Sangat antusias terhadap proyek ini, tetapi berencana menunggu sampai mencapai tahap yang lebih matang
    • Karena menyukai semua proyek lain dari tim Astral, ekspektasinya sangat tinggi