「Uv の作る仮想環境」の版間の差分

提供: tknotebook
移動: 案内、 検索
(→‎仮想環境専用)
 
(1人の利用者による、間の2版が非表示)
4行: 4行:
 
uvの作る仮想環境は venv で作られる仮想環境と少し違います。
 
uvの作る仮想環境は venv で作られる仮想環境と少し違います。
  
−
# uv の仮想環境には '''pip''' が入っていません。uvで作成した仮想環境へのパッケージのインストールは '''uv add や uv pip install''' を使います。
+
==pipが無い==
−
# '''uv pip install は pyproject.toml を更新しません'''。uvで作成したプロジェクトに '''uv pip install の使用は厳禁'''。必ず '''uv add''' や '''uv remove''' でパッケージを管理してください。尚、パッケージのインストール内容を確認するのに '''uv pip list''' は有用です。
+
 
−
# uvで作成した仮想環境の中で pip を使うと、グローバルな pip が起動されるので注意。uv初心者は戸惑います。いつの間にかグローバルなpythonを汚すので注意!
+
uv の仮想環境には '''pip''' が入っていません。uvで作成した仮想環境へのパッケージのインストールは、
−
# uv pip install や uv pip uninstall は カレントディレクトリがプロジェクトの中で無い場合は仮想環境の外のパッケージの管理に使えます。pipより数十倍速いので有用です。
+
代わりに '''uv add や uv pip install''' を使います。
−
# managed python には uv で仮想環境は作れますが、'''仮想環境の外にパッケージをインストールすることはできません'''。managed python は仮想環境専用の pythonと考えた方が良いでしょう。グローバルなコマンドをパッケージとして managed pythonにインストールするには uv tool install を使うべきです。これは仮想環境を自動的に作成し、パッケージをインストールして、パッケージがインストールした CLIコマンドを ~/.local/bin(パスの通ったディtレクトリ)にも置きます。pipx と同じ考え方で グローバルなpython環境を汚しません。
+
 
 +
uvで作成した仮想環境の中で pip を使うと、グローバルな pip が起動されるので注意。
 +
uv初心者は戸惑います。いつの間にかグローバルなpythonを汚すので注意!
 +
 
 +
==プロジェクトがインストール済み==
 +
 
 +
uv の仮想環境には プロジェクトが自動的にパッケージとして editable install されます。
 +
sys.path にはプロジェクトのトップディレクトリ(srcディレクトリ)が自動登録されます。
 +
 
 +
==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 pip install や uv pip uninstall は カレントディレクトリがプロジェクトの中で無い場合は仮想環境の外のパッケージの管理に使えます。pipより数十倍と鬼のように速いので有用です。

2026年11月5日 (木) 07:48時点における最新版

メインページ>コンピュータの部屋#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ディレクトリ)が自動登録されます。

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 pip install や uv pip uninstall は カレントディレクトリがプロジェクトの中で無い場合は仮想環境の外のパッケージの管理に使えます。pipより数十倍と鬼のように速いので有用です。