2 ポイント 投稿者 GN⁺ 2024-07-10 | 2件のコメント | WhatsAppで共有

Rye: 手間いらずのPython体験

Ryeは、Pythonプロジェクトとパッケージ管理のためのソリューションです。RyeはすべてのPythonユーザーに統合された体験を提供し、Pythonのインストール、pyproject.tomlベースのプロジェクト、依存関係、仮想環境をシームレスに管理できます。複雑なプロジェクト、モノレポ、グローバルツールのインストールにも対応しています。

インストール手順

Linux

  • OSとCPUアーキテクチャに合ったバイナリをインストールするcurlコマンドを実行
    curl -sSf https://rye.astral.sh/get | bash
    
  • 最新リリースのバイナリをダウンロードしてインストール
    gunzip rye-x86_64-linux.gz
    chmod +x ./rye-x86_64-linux
    ./rye-x86_64-linux
    

macOS

  • OSとCPUアーキテクチャに合ったバイナリをインストールするcurlコマンドを実行
    curl -sSf https://rye.astral.sh/get | bash
    
  • 最新リリースのバイナリをダウンロードしてインストール
    gunzip rye-aarch64-macos.gz
    chmod +x ./rye-aarch64-macos
    ./rye-aarch64-macos
    

Windows

  • 最新リリースのバイナリをダウンロードして実行
  • "Developer Mode" の有効化を推奨
  • 64ビットIntel Windows: rye-x86_64-windows.exe
  • 32ビットIntel Windows: rye-x86-windows.exe

注意事項

  • Ryeはまだ署名済みバイナリを使用していません。実行ファイルを許可する必要があります。
  • "Bearfoos" トロイの木馬警告が表示される場合があります。これは誤検知です。
  • RustとCargoが必要です。rustupを使ってインストールできます。
    cargo install --git https://github.com/astral-sh/rye rye
    

GN⁺のまとめ

  • RyeはPython開発者に統合されたプロジェクトおよびパッケージ管理ソリューションを提供します。
  • 複雑なプロジェクトやグローバルツールのインストールをサポートし、開発者体験を向上させます。
  • インストール時にいくつか注意点はありますが、全体として使いやすいです。
  • 類似機能を持つツールにはPoetryやPipenvがあります。

2件のコメント

 
lum7671 2024-07-11

私は少し前から、あれこれ試した末に
Introduction - PDM
を使っています。

Rye も使ってみないといけませんね。

 
GN⁺ 2024-07-10
Hacker Newsの意見
  • uvで多くの中核的なパッケージング開発が進められており、Ryeもuvを使用している

    • 最近uvに"universal"な解決サポートが追加され、すべてのプラットフォームとOSで動作するrequirements.txtファイルを生成できるようになった
    • Ryeも最新リリースでこれをサポートしている
    • Ryeとuvについて質問があれば答えられる
  • Ryeの欠点は、標準外のPythonビルドを使うことを強く推奨している点

    • Ryeの哲学ページによると、CPythonビルドは完全に不十分で、さまざまなプラットフォームでさまざまな問題を引き起こす
    • このプロジェクトはindygreg standaloneビルドを使っている
    • 別のPythonを選ぶこともできる
    • 公式のPythonビルドで問題を経験したことはなく、標準外ビルドの使用には懸念がある
  • Ryeを気に入っているユーザーは多い

    • Ryeはvenv/Pythonバージョン/パッケージングのプロセスを実際に快適にしてくれる
    • PythonをCargoのように感じさせてくれる
  • HNのシニシズムに驚くユーザーもいる

    • 他の言語のパッケージマネージャー(cargo、hex)を使った後、Pythonに同様のシステムがないのが残念だった
    • Ryeがこの問題を完全に解決してくれる
  • 新しいPython依存関係マネージャーは、新しいJavaScriptフレームワークを見つけたようなもの

  • pixiを好むユーザーもいる

    • pixiはPythonバージョンを固定し、condaとPyPIからパッケージをインストールできるようにしてくれる
    • Rustで書かれている
  • Python開発者ではない人には、PythonプロジェクトのDXがなぜあれほど悪いのか理解できない

    • npm/nodeはプロジェクトのブートストラップや依存関係の理解がとても簡単
    • Pythonがrequirements.txtに対する成熟した代替を見つけるのに、なぜこれほど長くかかったのか疑問だ
  • uvチームがArminのプロジェクトを引き継いだことは注目に値する

  • Ryeは素晴らしく見え、Poetryもよく使っている

    • Goの高品質な標準ツールへの敬意が大きい
    • Pythonプロジェクトを始めるたびに、依存関係/venv管理についてまた学び直さなければならない気がする
  • Ryeの紹介ページによると、Ryeはまだ非常に実験的なツール

    • このプロジェクトには大いに期待しているが、より成熟した段階に達するまで待つつもり
    • Astralチームの他のすべてのプロジェクトが好きなので、大きな期待を寄せている