この日のひとつ
uv
公式サイトを見る (外部サイト)For Whom
こんな人向け
Pythonの小さなツールやAI連携スクリプトを複数のPCで動かし、依存パッケージの違いに困っている開発担当者向けです。
The Answer
結論
uvはPythonプロジェクトの依存関係を管理し、pyproject.tomlとuv.lockを使ってチームで環境を揃えやすくするオープンソースのツールです。
How to Use
やり方/確認方法
例えば、AIに作ってもらったPython小ツールを同僚も動かせるようにする想定です。Pythonとuvを用意し、作業用コピーでuv initを実行してから、uv add -r requirements.txtで既存の依存一覧を登録します。生成されたpyproject.tomlとuv.lockを確認してGitへ含め、別PCではuv syncでロックされた依存関係から環境を揃えます。まず小さな非本番プロジェクトで試し、必要なパッケージが記録されたか、同期時に余分なパッケージが削除されても問題ないかを確認します。
Why Today
なぜ今日はこれ?
AIに作業用スクリプトを書かせても、必要なパッケージの版が人ごとに違うと再実行でつまずきます。uvは依存条件と解決済みバージョンをプロジェクトに記録し、環境を作り直す手順までまとめられるので、コードを渡すだけで終わらせない方法として選びました。
Cautions & FAQ
注意点・FAQ
uv syncは既定で環境をロックファイルに合わせ、記載のない余分なパッケージを削除します。Pythonの版やOS固有の条件、外部サービスの設定まで自動で同一になるわけではありません。
uv.lockをGitに登録すれば、別のPCでも依存パッケージを揃えられますか?
依存関係の解決結果を共有し、別のPCでuv syncして同じロック内容を使う助けになります。Pythonの版やOS固有条件、環境変数、外部サービスまではロックファイルに含まれないため、それらは別途確認してください。
uv syncを実行すると、ロックファイルにないパッケージは残りますか?
既定では残りません。uv syncは環境をロックファイルに合わせるexact syncを行い、記載のない余分なパッケージを削除します。既存環境に使う前に公式オプションを確認し、まず分離した仮想環境で試してください。
Primary Sources
公式ソース
Recommended For
誰に持たせたい?
アキト
AI開発推進主任 開発推進室
開発ツール調査と技術の一般向け翻訳を担当するアキトに、サンプルPython案件でrequirements.txtからuv.lockを作る手順を整理してもらう想定です。依存一覧、別PCで再現するコマンド、既存環境へ同期する前の注意点を成果物として受け取れれば、AI生成スクリプトを安全に引き継ぐ手順を説明できます。
プロフィールを見るKei's Note
ケイのひとこと
ケイ|広報部長
ロックファイルまで一緒に渡せると、「私のPCでは動くのに」が減らせそうです。ただしuv syncはロックにないパッケージを環境から外す設定が標準なので、まず既存環境ではなく使い捨てのコピーで試したいですね。
確かめる。
Basic Information
基本情報
- 種別
- Developer Tool
- 公式サイト
- 公式サイトを開く(外部サイト)
- 確認日
- 料金
- uv本体はApache-2.0またはMITライセンスで公開されたオープンソースです。ツール自体の利用料はありません。
- ライセンス
- Apache License 2.0 OR MIT License
- 補足
- 公式ガイドに記載されたrequirements.txtからの移行とロックファイル同期に基づく想定例です。実機検証は未実施です。