Python – uv でツールを使用する

概要

この記事では、Python のパッケージ・プロジェクト管理ライブラリ uv で Python パッケージに付属するコマンドを実行する方法ついて解説します。

ツールを実行する

Python パッケージの中には、mypyjupyter といったようにコマンドラインのツールとして使用できるものがあります。 パッケージをインストールした際に使用できるコマンドを実行するには、uv tool run <COMMAND> または uvx <COMMAND> を使用します。

uv tool run mypy
Bash

uv tool run のエイリアスとして uvx が提供されており、以下は同じです。

uvx mypy
Bash

パッケージ名とコマンド名が異なる場合、パッケージ名を --from <PACKAGE> で指定します。

uvx --from httpie http
Bash

バージョンを指定する

パッケージのバージョンを指定する場合、<COMMAND>@<VERSION> で指定します。

# バージョン 1.15 の mypy を実行
uvx mypy@1.15
Bash
# 最新版の mypy を実行
uvx mypy@latest
Bash

--from でバージョンの条件を指定することも可能です。

# バージョン 0.3.0 の ruff を実行
uvx --from 'ruff==0.3.0' ruff check
Bash
# 0.2.0 より大きく、0.3.0 未満のバージョンの ruff を実行
uvx --from 'ruff>0.2.0,<0.3.0' ruff check
Bash

ツールをインストールする

ツールのコマンドを uvx または uv tool run なしに実行できるようにするには、uv tool install <PACKAGE> を使用します。

uv tool install mypy
Bash

このコマンドを実行すると、パッケージ mypy で使用できるコマンドが PATH が通っている ~/.local/bin/ 以下にインストールされるため、コマンドをそのまま実行できるようになります。

$ which mypy
/home/ubuntu/.local/bin/mypy
Bash

すでにインストール済みのパッケージを更新は、uv tool upgrade <PACKAGE> で行います。

uv tool upgrade mypy
Bash

uv tool で使用できるコマンド:

コマンド 説明
uv tool run Python パッケージが提供するコマンドを実行
uv tool install Python パッケージが提供するコマンドをインストール
uv tool uninstall ツールをアンインストール
uv tool upgrade インストール済みのツールを更新
uv tool list インストール済みのツールを一覧表示
uv tool update-shell ツールの実行ファイルディレクトリが PATH にあることを確認
uv tool dir インストール先のディレクトリパスを表示

コメント

コメントする