Tasuke HubLearn · Solve · Grow
#Python

RyeユーザーはuvへGO!Astral公式が推奨する次世代Pythonワークフロー移行術

Ryeの開発終了を受けて、より高機能なuvへ。同じチームが開発する後継ツールへの移行理由、具体的な手順、そして進化したワークフローを完全解説します。

時計のアイコン26 November, 2025
TH

Tasuke Hub管理人

東証プライム市場上場企業エンジニア

情報系修士卒業後、大手IT企業にてフルスタックエンジニアとして活躍。 Webアプリケーション開発からクラウドインフラ構築まで幅広い技術に精通し、 複数のプロジェクトでリードエンジニアを担当。 技術ブログやオープンソースへの貢献を通じて、日本のIT技術コミュニティに積極的に関わっている。

🎓情報系修士🏢東証プライム上場企業💻フルスタックエンジニア📝技術ブログ執筆者

Ryeが役目を終えた理由

Ryeは素晴らしいPythonプロジェクト管理ツールでした。 しかし、開発元のAstralは公式にuvへの移行を推奨しています。

なぜか?答えは明確です: uvがRyeの全機能を含み、さらに進化したから

ベストマッチ

最短で課題解決する一冊

この記事の内容と高い親和性が確認できたベストマッチです。早めにチェックしておきましょう。

RyeとuvのDNA

どちらもRust製で、同じAstralチームが開発しています。 実際、Ryeは初期からuvを内部で使用していました。

Ryeの功績

  • Pythonバージョン管理の統合
  • プロジェクトベースの仮想環境
  • ワークスペース(monorepo)対応
  • 依存関係の自動ロック

uvの進化

Ryeの全機能を継承しつつ:

  • より高速な依存関係解決
  • より広範なPython実装のサポート
  • より活発な開発とコミュニティ
  • より洗練されたCLI

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

移行の実際:プロジェクトごとの手順

単一プロジェクトの移行

現在のRyeプロジェクト構造:

my-project/
├── .python-version
├── pyproject.toml
├── requirements.lock
└── src/

移行手順:

# 1. uvのインストール
curl -LsSf https://astral.sh/uv/install.sh | sh

# 2. プロジェクトディレクトリへ移動
cd my-project

# 3. uvでの初期化(既存のpyproject.tomlを利用)
uv sync

# 4. Pythonバージョンの確認・インストール
uv python install $(cat .python-version)

# 5. スクリプトの実行(ryeと同じ)
uv run python main.py

これで完了です!

pyproject.tomlの互換性

Ryeで使っていたpyproject.tomlはほぼそのまま使えます。

[project]
name = "my-app"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = [
    "fastapi>=0.104.0",
    "sqlalchemy>=2.0.0",
]

[tool.rye]  # ← これは無視される(問題なし)
managed = true

[tool.uv]  # ← uvの設定(オプション)
dev-dependencies = [
    "pytest>=7.4.0",
]

ワークスペース(monorepo)の移行

Ryeのワークスペースもuvがサポートしています。

# ルートのpyproject.toml
[tool.uv.workspace]
members = ["packages/*"]

# packages/api/pyproject.toml
[project]
name = "my-api"
dependencies = ["fastapi"]

# packages/cli/pyproject.toml
[project]
name = "my-cli"
dependencies = ["click", "my-api"]  # ワークスペース内の依存も可能
# ワークスペース全体の依存解決
uv sync

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

コマンド対応表

Rye uv 説明
rye init uv init プロジェクト初期化
rye add fastapi uv add fastapi 依存追加
rye sync uv sync 依存インストール
rye run python uv run python スクリプト実行
rye shell (不要) uvは自動で環境を使用
rye build uv build パッケージビルド
rye publish uv publish PyPIへ公開

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

uvだけの新機能

1. Python実装の選択

# CPython以外も使える
uv python install pypy@3.10
uv python pin pypy@3.10

2. グローバルツールのインストール

# pipxの代わりにもなる
uv tool install ruff
uv tool install black

3. スクリプトの単体実行

# script.py
# /// script
# dependencies = [
#   "requests",
#   "rich",
# ]
# ///

import requests
from rich import print

response = requests.get("https://api.github.com")
print(response.json())
# 依存関係を自動インストールして実行
uv run script.py

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

CI/CDの更新

GitHub Actionsでの変更例:

# Before (Rye)
- name: Install Rye
  uses: eifinger/setup-rye@v1

- name: Sync dependencies
  run: rye sync

- name: Run tests
  run: rye run pytest

# After (uv)
- name: Install uv
  uses: astral-sh/setup-uv@v1

- name: Set up Python
  run: uv python install

- name: Install dependencies
  run: uv sync

- name: Run tests
  run: uv run pytest

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

移行のメリット

  1. 将来性: Ryeは開発終了、uvは活発に進化中
  2. パフォーマンス: さらに高速化された依存解決
  3. 機能拡張: 新機能が続々追加
  4. コミュニティ: より大きなユーザーベース

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

まとめ

RyeからuvへのGO推奨は、後継ツールへのスムーズな進化です。 同じチームが開発しているため、移行は驚くほど簡単です。

Ryeユーザーなら、uvの習得コストはほぼゼロ。 むしろ、より洗練されたワークフローが手に入ります。

「もうRyeで十分」と思っているかもしれませんが、uvを試せば考えが変わるはずです。

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

この記事をシェア

続けて読みたい記事

編集部がピックアップした関連記事で学びを広げましょう。

#Python

Astral製uvとtyでPythonワークフローを再設計する

2025/11/23
#Python

型安全PythonでAIコードベースを堅牢化する実装ガイド

2025/11/23
#Python

pipの100倍速い!Rust製Pythonパッケージマネージャー「uv」で開発効率を最大化

2025/11/26
#Git

Git/GitHub超入門【2025年版】:最小のワークフローで始める

2025/9/13
#Image Optimization

画像ワークフロー実践【2025年版】:アップロード署名・Moderation・CDN署名URLまで

2025/9/13
#Python

Pythonで株式投資分析!yfinance × pandas × pandas-taで実践するテクニカル分析入門

2025/11/26