フリーキーズ | 独学プログラミング

Pythonのパッケージ管理Ryeのインストールと使い方

最終更新日
【画像】Pythonのパッケージ管理Ryeのインストールと使い方

Pythonのパッケージ管理で有名なのはpipですが、最近流行している別の管理ツールが登場しました。
それが今回紹介するRye(ライ)です。

Flaskを開発したArmin Ronacher氏のオープンソースプロジェクトであり、Python開発者の開発体験を損なわない設計が評価されています。

Rye(ライ)の特徴

Ryeには以下の特徴があります。

  • Rust製で高速
  • Python開発環境のワンストップツール
  • virtualenvとシームレスに動作
  • ruffがバンドルされていてlinterやformatterが内蔵
  • まだ実験的ツールのため本番利用では気をつけたい

その作りや状況的に、Python開発をある程度こなしてきた人が使うことが推奨されます。
未経験や初心者の方はpipやpoetryから始めましょう。

Ryeをインストール

今回はmacOSで進めますが、Windowsでもインストール方法が示されているのでこちらのページから自身の環境に合わせてインストールしてください。
※Rust環境がある人は自分でビルドすることも可能

macOSとLinuxの場合は以下のコマンドです。

curl -sSf https://rye-up.com/get | bash

以下のような選択肢が出てくるので、好みに合わせて選択していきましょう。
今回は高速なパッケージインストーラーであるuvとcpython@3.12.2をインストールしました。

✔ Select the preferred package installer · uv (fast, recommended)
✔ What should running `python` or `python3` do when you are not inside a Rye managed project? · Run a Python installed and managed by Rye
✔ Which version of Python should be used as default toolchain? · cpython@3.12

インストールが済んだら、~/.zshrcなどで以下を設定しておきます。

source "$HOME/.rye/env"

設定を有効化したらRyeの準備は完了です。

source ~/.zshrc
$ rye --version
rye 0.32.0
commit: 0.32.0 (e1b4f2a29 2024-03-29)
platform: macos (aarch64)
self-python: cpython@3.12.2
symlink support: true
uv enabled: true

Ryeのアップデート

Rye自体のアップデートは以下のコマンドで実行できます。

rye self update

Ryeのアンインストール

Ryeのアンインストールは以下のコマンドで実行できます。

rye self uninstall

Ryeの使い方

Ryeを使ったプロジェクトを作成する際はまず最初に以下のコマンドを実行します。

rye init [プロジェクト名]

すると以下のようなファイル構造になります。

.
├── README.md
├── pyproject.toml # パッケージ管理用ファイル
└── src
    └── [プロジェクト名]
        └── __init__.py

src/[プロジェクト名]/__init__.pyの内容は以下のようになっています。

def hello() -> str:
    return "Hello from v1!"

さらに以下のコマンドを実行します。

rye sync

このコマンドで、以下のファイルの生成されます。

.
├── .git
├── .gitignore
├── .python-version # Pythonバージョン固定
├── .venv # virtualenvファイル
├── requirements-dev.lock
├── requirements.lock

Ryeでパッケージ管理

準備ができたので、続いてパッケージ管理をしていきましょう。
FastAPIプロジェクトを作成していく前提で進めます。

rye add fastapi

インストール済みのパッケージを表示したい場合は以下のコマンドです。

$ rye list
annotated-types==0.6.0
anyio==4.3.0
fastapi==0.110.1
idna==3.7
pydantic==2.7.0
pydantic-core==2.18.1
-e file:///path/to/project
sniffio==1.3.1
starlette==0.37.2
typing-extensions==4.11.0

ちょうどpip freezeと同じ形で表示されます。

パッケージのアンインストールは以下です。

rye remove fastapi

CLIとして利用できるパッケージの場合、以下の流れで使うことが可能です。
今回はフォーマッターであるblackを使ってみます。

$ rye add black # blackをインストール
$ rye sync # virtualenv環境に同期
$ rye run black src/[プロジェクト名]/__init__.py # 実行

またはvirtualenvを有効化することでも使えます。

$ . .venv/bin/activate
$ black src/[プロジェクト名]/__init__.py

その他の機能

Ryeにはたくさんの機能がありますが、その中の一部を紹介します。

ビルド

distディレクトリにビルドできます。

rye build

PyPIへの公開

distディレクトリをPyPIへ公開できます。

rye publish

コード整形/コードチェック

Ruffを使ったコード整形とチェックができます。

rye fmt
rye lint

次世代パッケージ管理Ryeを使ってみよう

ここまで、Ryeをざっくり紹介してきましたが、pipと違い発展途上のワクワク感がありました。
Rust製で、uvやruffのような比較的新しいパッケージを採用していることで、次世代Python開発環境の筆頭と言えるでしょう。

もし個人的なプロジェクトや新しく始める小規模なプロジェクトがあったら、ぜひ実験的に使ってみてください。

関連するコンテンツ