ツールの使用
多くのPythonパッケージは、ツールとして使用できるアプリケーションを提供しています。uvは、ツールを簡単に呼び出し、インストールするための専門的なサポートを提供します。
ツールの実行
uvxコマンドは、ツールをインストールせずに呼び出します。
例えば、ruffを実行するには:
ツール名の後に引数を指定できます:
$ uvx pycowsay hello from uv
-------------
< hello from uv >
-------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
uvxを使用する場合、ツールは一時的で隔離された環境にインストールされます。
Note
ツールをプロジェクトで実行し、ツールがプロジェクトのインストールを必要とする場合(例:pytestやmypyを使用する場合)、uvxの代わりにuv runを使用することをお勧めします。そうしないと、ツールはプロジェクトから隔離された仮想環境で実行されます。
プロジェクトがフラットな構造を持っている場合(例:モジュールにsrcディレクトリを使用せず、プロジェクト自体がインストールを必要としない場合)、uvxを使用しても問題ありません。この場合、ツールのバージョンをプロジェクトの依存関係に固定したい場合にのみuv runを使用することが有益です。
パッケージ名が異なるコマンド
uvx ruffが呼び出されると、uvはruffコマンドを提供するruffパッケージをインストールします。ただし、パッケージ名とコマンド名が異なる場合があります。
--fromオプションを使用して、特定のパッケージからコマンドを呼び出すことができます。例:httpieが提供するhttp:
特定のバージョンの要求
特定のバージョンでツールを実行するには、command@<version>を使用します:
最新バージョンでツールを実行するには、command@latestを使用します:
--fromオプションを使用してパッケージバージョンを指定することもできます。上記のように:
または、バージョン範囲を制約するには:
@構文は正確なバージョン以外には使用できないことに注意してください。
異なるソースの要求
--fromオプションを使用して、代替ソースからインストールすることもできます。
例えば、gitから取得するには:
特定の名前付きブランチから最新のコミットを取得することもできます:
または特定のタグを取得することもできます:
さらには特定のコミットを取得することもできます:
プラグインを持つコマンド
追加の依存関係を含めることができます。例:mkdocsを実行する際にmkdocs-materialを含めるには:
ツールのインストール
ツールを頻繁に使用する場合、uvxを繰り返し呼び出す代わりに、永続的な環境にインストールし、PATHに追加することが便利です。
Tip
uvxはuv tool runの便利なエイリアスです。他のツールと対話するためのコマンドはすべてuv toolプレフィックスが必要です。
ruffをインストールするには:
ツールがインストールされると、その実行可能ファイルはPATHにあるbinディレクトリに配置され、uvなしでツールを実行できるようになります。PATHにない場合は警告が表示され、uv tool update-shellを使用してPATHに追加できます。
ruffをインストールした後、次のように利用可能になります:
uv pip installとは異なり、ツールをインストールしてもそのモジュールは現在の環境で利用できません。例えば、次のコマンドは失敗します:
この隔離は、ツール、スクリプト、およびプロジェクトの依存関係間の相互作用と競合を減らすために重要です。
uvxとは異なり、uv tool installは_パッケージ_に対して操作を行い、ツールが提供するすべての実行可能ファイルをインストールします。
例えば、次のコマンドはhttp、https、およびhttpieの実行可能ファイルをインストールします:
さらに、パッケージバージョンを--fromなしで含めることができます:
同様に、パッケージソースについても:
uvxと同様に、インストールには追加のパッケージを含めることができます:
ツールのアップグレード
ツールをアップグレードするには、uv tool upgradeを使用します:
ツールのアップグレードは、ツールのインストール時に提供されたバージョン制約を尊重します。例えば、uv tool install ruff >=0.3,<0.4の後にuv tool upgrade ruffを実行すると、Ruffは>=0.3,<0.4の範囲内の最新バージョンにアップグレードされます。
バージョン制約を置き換えるには、uv tool installを使用してツールを再インストールします:
すべてのツールをアップグレードするには:
次のステップ
uvでツールを管理する方法の詳細については、ツールの概念ページとコマンドリファレンスを参照してください。
または、プロジェクトで作業する方法を学んでください。