Uv の作る仮想環境

提供: tknotebook
2026年11月6日 (金) 00:05時点におけるNakamuri (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内、 検索

メインページ>コンピュータの部屋#Python>uv tips

uvの作る仮想環境は venv で作られる仮想環境と少し違います。

pipが無い

uv の仮想環境には pip が入っていません。uvで作成した仮想環境へのパッケージのインストールは、 代わりに uv add や uv pip install を使います。

uvで作成した仮想環境の中で pip を使うと、グローバルな pip が起動されるので注意。 uv初心者は戸惑います。いつの間にかグローバルなpythonを汚すので注意!

プロジェクトがインストール済み

uv の仮想環境には プロジェクトが自動的にパッケージとして editable install されます。 sys.path にはプロジェクトのトップディレクトリ(srcディレクトリ)が自動登録されます。

pytest等のテストプログラムから簡単に import してテストできるので便利です。

uv pip install は禁じ手

uv pip install は pyproject.toml を更新しません。uvで作成したプロジェクトに uv pip install XXXX を使用すると、 仮想環境にインストールされたパッケージと tomlファイルの記述内容がずれるので使用厳禁です。必ず uv add や uv remove でパッケージを管理してください。尚、パッケージのインストール内容を確認するのに uv pip list は有用です。

uv pip install の用途は2つ考えられます。

一つは uv を単に環境作成ツールとして使う場合です。 uv はプロジェクトの無いディレクトリで uv venv コマンドで仮想環境を作成できます。 仮想環境作成後、.venvに有るディレクトリおよびその配下のディレクトリでは、仮想環境に対してパッケージをインストールには uv pip install xxxx を使います。uv add は使用できません。

もうひとつは仮想環境の外のパッケージのインストールです。uv pip install や uv pip uninstall は カレントディレクトリが仮想環境の有るディレクトリの中で無い場合は、仮想環境の外のグローバルな pythonのパッケージの管理に使えます。pipより数十倍と鬼のように速いので有用です。