Pythonのパッケージ管理で有名なのはpipですが、最近流行している別の管理ツールが登場しました。
それが今回紹介するRye(ライ)です。
Flaskを開発したArmin Ronacher氏のオープンソースプロジェクトであり、Python開発者の開発体験を損なわない設計が評価されています。
Ryeには以下の特徴があります。
その作りや状況的に、Python開発をある程度こなしてきた人が使うことが推奨されます。
未経験や初心者の方はpipやpoetryから始めましょう。
今回はmacOSで進めますが、Windowsでもインストール方法が示されているのでこちらのページから自身の環境に合わせてインストールしてください。
※Rust環境がある人は自分でビルドすることも可能
macOSとLinuxの場合は以下のコマンドです。
以下のような選択肢が出てくるので、好みに合わせて選択していきましょう。
今回は高速なパッケージインストーラーであるuv
とcpython@3.12.2をインストールしました。
インストールが済んだら、~/.zshrc
などで以下を設定しておきます。
設定を有効化したらRyeの準備は完了です。
Rye自体のアップデートは以下のコマンドで実行できます。
Ryeのアンインストールは以下のコマンドで実行できます。
Ryeを使ったプロジェクトを作成する際はまず最初に以下のコマンドを実行します。
すると以下のようなファイル構造になります。
src/[プロジェクト名]/__init__.py
の内容は以下のようになっています。
さらに以下のコマンドを実行します。
このコマンドで、以下のファイルの生成されます。
準備ができたので、続いてパッケージ管理をしていきましょう。
FastAPIプロジェクトを作成していく前提で進めます。
インストール済みのパッケージを表示したい場合は以下のコマンドです。
ちょうどpip freeze
と同じ形で表示されます。
パッケージのアンインストールは以下です。
CLIとして利用できるパッケージの場合、以下の流れで使うことが可能です。
今回はフォーマッターであるblack
を使ってみます。
またはvirtualenvを有効化することでも使えます。
Ryeにはたくさんの機能がありますが、その中の一部を紹介します。
ビルド
dist
ディレクトリにビルドできます。
PyPIへの公開
dist
ディレクトリをPyPIへ公開できます。
コード整形/コードチェック
Ruffを使ったコード整形とチェックができます。
ここまで、Ryeをざっくり紹介してきましたが、pipと違い発展途上のワクワク感がありました。
Rust製で、uvやruffのような比較的新しいパッケージを採用していることで、次世代Python開発環境の筆頭と言えるでしょう。
もし個人的なプロジェクトや新しく始める小規模なプロジェクトがあったら、ぜひ実験的に使ってみてください。