SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

PyCon JP実行委員プレゼンツ Python最新トレンド

【2025年版】Python開発「3種の神器」:uv、Ruff、VS Codeで快適環境を構築しよう

PyCon JP実行委員プレゼンツ Python最新トレンド 第1回

  • X ポスト
  • このエントリーをはてなブックマークに追加

パッケージ管理システム「uv」

パッケージ管理システムが必要とされる背景

 Pythonを初学者に勧めたいメリットの一つとして、多様なサードパーティーパッケージによるエコシステムが存在します。Pythonには、AIやWeb開発に役立つパッケージが多種多様に開発され、その力を借りながら、初心者から熟練者まで多種多様なアプローチで高品質なプロダクトが製作できる点は、大きな魅力です。

 また、こうしたエコシステムを活かすうえで重要となるのが、開発者間で同じ環境を再現可能にすることです。パッケージのバージョンやインストール状況が開発者ごとに異なると、同じコードであっても動作が変わってしまうことがあります。そのため、プロジェクトごとに環境を切り分け、確実に同じ依存関係を用いて動作させるしくみが必要となります。

 しかし、その反面、参照パッケージ間のバージョン依存関係の競合や、インタプリタとパッケージのバージョンの整合性、またはOSに標準で付属するPythonやパッケージとの競合(PEP 668)などといった問題に直面することも少なくありません。

 たとえば、かつては、pipを用いたパッケージ管理と、依存関係を記述したrequirements.txtを使って、ほかの人と同じ環境を再現するのが一般的でした。しかし、pipの依存関係解決のしくみでは、複雑な依存関係を持つプロジェクトでは、バージョンの競合が発生しやすく、手動での調整が必要になることもありました。その後、パッケージ管理を明確にする記述フォーマットとしてpyproject.tomlが公式で採用されました(PEP 518)。これにより、依存関係の管理がより明確になり、プロジェクトの構成が一元化され、スタンダードとなっています。

 しかし、それでも完全な解決には至らないことも多く、特にビルド時間の長さやキャッシュの扱い、複雑な設定などが煩雑に感じられることもあります。とにかく、初学者が理解し扱えるようになるのは、たいへんにハードルの高いものであることだけは確かです。

 こうした課題を背景に登場したのが、uvという新しいPythonパッケージ・プロジェクト管理ツールです。uvは、高速かつ信頼性の高い依存関係の解決と環境構築を目的として開発されており、Rustで書かれていることにより、従来のツールよりもパフォーマンスが大幅に向上しています。また、pyproject.tomlを用いることで、ほかのツールで記述されたパッケージ管理システムとの互換性も保っています。

 uvpipと同様に、パッケージをPyPI(Python Package Index)からダウンロードするため、これまでのPythonの多様なパッケージというエコシステムはそのまま享受できます。Pythonのさまざまなパッケージを利用することのできる柔軟性と利便性を維持しながら、依存関係のトラブルを最小限に抑えたい──そのような開発者のニーズに応える選択肢として、uvは普及しつつあります。

 当記事ではまず、このuvをインストールし、実際に触れてみましょう。

インストール

 インストールのために、公式ドキュメントからシェルスクリプトが用意されています。以下を、ターミナルやPowerShellで実行しましょう。あるいは、お使いのパッケージマネージャーを利用することもできます。

macOS / Linuxの場合

$ curl -LsSf https://astral.sh/uv/install.sh | sh

Windowsの場合

PS> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

次のページ
コード静的解析ツール・フォーマッタ「Ruff」

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
この記事の著者

鶴丸 倫琉(ツルマル ミチル)

 大学生。広島県在住。2005年、山口県生まれ。PyCon JP 2025 主催メンバーの一員として、Python コミュニティに関わる。2021年(高1)の時、地元で行われていたプログラミングコンテストに応募し、プログラミングの楽しさを知る。2023年、国際学生科学技術フェア(ISEF)に参加する...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/21947 2025/08/07 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング