Using tools#
多くのPythonパッケージには、ツールとして使用できるアプリケーションが用意されています。uvには、ツールを簡単に呼び出してインストールするための特別なサポートがあります。
Running tools#
uvxコマンドはツールをインストールせずに起動します。
例えば、ruffを実行するには:
ツール名の後に引数を指定できます。:
$ uvx pycowsay hello from uv
-------------
< hello from uv >
-------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
uvxを使用すると、ツールは一時的な隔離された環境にインストールされます。
Commands with different package names#
uvx ruffが起動されると、uvはruffコマンドを提供するruffパッケージをインストールします。
ただし、パッケージ名とコマンド名が異なる場合があります。
--fromオプションは、例えばhttpieが提供するhttpのように、特定のパッケージからコマンドを呼び出すために使用できます。:
Requesting specific versions#
特定のバージョンでツールを実行するには、command@<version>を使用します。:
上記のように、--fromオプションを使用してパッケージのバージョンを指定することもできます。:
または、バージョンの範囲に制限するには、次の手順に従います。:
@構文は正確なバージョン以外には使えないことに注意してください。
Requesting different sources#
--fromオプションを使用して、別のソースからインストールすることもできます。
たとえば、gitからpullするには次のようにします。:
Commands with plugins#
追加の依存関係を含めることができます。たとえば、mkdocsを実行するときにmkdocs-materialを含めることができます。:
Installing tools#
ツールが頻繁に使用される場合は、uvxを繰り返し呼び出すのではなく、永続的な環境にインストールしてPATHに追加すると便利です。
ruffをインストールするには:
ツールがインストールされると、その実行可能ファイルはPATHのbinディレクトリに配置され、uvなしでツールを実行できるようになります。PATHにない場合は警告が表示され、uv tool update-shellを使用してPATHに追加できます。
ruffをインストールすると、利用可能になります。:
uv pip installとは異なり、ツールをインストールしても、そのモジュールは現在の環境で使用可能になりません。たとえば、次のコマンドは失敗します。:
この分離は、ツール、スクリプト、およびプロジェクトの依存関係間の相互作用や競合を減らすために重要です。。
uvxとは異なり、uv tool installはa_package_上で動作し、ツールが提供するすべての実行可能ファイルをインストールします。
例えば、以下はhttp、https、httpie実行可能ファイルをインストールします。:
さらに、パッケージのバージョンは--fromなしで含めることができます。:
同様に、パッケージソースの場合は次のようになります。:
uvxと同様に、インストールには追加のパッケージを含めることができます。:
Upgrading tools#
ツールをアップグレードするには、uv tool upgradeを使用します。:
ツールのアップグレードでは、ツールのインストール時に指定されたバージョンの制約が考慮されます。たとえば、uv tool install ruff>=0.3,<0.4の後にuv tool upgrade ruffを指定すると、Ruffは>=0.3,<0.4の範囲の最新バージョンにアップグレードされます。
代わりにバージョン制約を置き換えるには、uv tool installでツールを再インストールします。:
代わりにすべてのツールをアップグレードするには:
Next steps#
uvによるツールの管理の詳細については、Tools conceptページおよびcommand referenceを参照してください。
または、プロジェクトで作業するの方法を引き続きお読みください。