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

提供: tknotebook
移動: 案内、 検索
(→‎uv pip install は禁じ手)
 
(1人の利用者による、間の4版が非表示)
16行: 16行:
 
uv の仮想環境には プロジェクトが自動的にパッケージとして editable install されます。
 
uv の仮想環境には プロジェクトが自動的にパッケージとして editable install されます。
 
sys.path にはプロジェクトのトップディレクトリ(srcディレクトリ)が自動登録されます。
 
sys.path にはプロジェクトのトップディレクトリ(srcディレクトリ)が自動登録されます。
 +
 +
pytest等のテストプログラムから簡単に import してテストできるので便利です。
  
 
==uv pip install は禁じ手==
 
==uv pip install は禁じ手==
24行: 26行:
 
uv pip install の用途は2つ考えられます。
 
uv pip install の用途は2つ考えられます。
  
−
一つは uv を単に環境作成ツールとして使う場合。それならプロジェクトとの整合性はどうでも良いでしょう。
+
一つは uv を単に環境作成ツールとして使う場合です。
−
 
+
uv はプロジェクトの無いディレクトリで uv venv コマンドで仮想環境を作成できます。
−
もうひとつは仮想環境の外のパッケージのインストールです。uv pip install や uv pip uninstall は カレントディレクトリがプロジェクトの中で無い場合は仮想環境の外のパッケージの管理に使えます。pipより数十倍と鬼のように速いので有用です。
+
仮想環境作成後、.venvに有るディレクトリおよびその配下のディレクトリでは、仮想環境に対してパッケージをインストールには
−
 
+
uv pip install xxxx を使います。uv add は使用できません。
−
==仮想環境専用==
+
−
 
+
−
managed python には uv で仮想環境は作れますが、'''仮想環境の外にパッケージをインストールすることはできません'''。
+
−
managed python は仮想環境専用の pythonと考えた方が良いでしょう。
+
  
−
グローバルなコマンドをパッケージとして managed pythonにインストールするには uv tool install を使うべきです。
+
もうひとつは仮想環境の外のパッケージのインストールです。uv pip install や uv pip uninstall は カレントディレクトリが仮想環境の有るディレクトリの中で無い場合は、仮想環境の外のグローバルな pythonのパッケージの管理に使えます。pipより数十倍と鬼のように速いので有用です。
−
これは仮想環境を自動的に作成し、パッケージをインストールして、パッケージがインストールした CLIコマンドを ~/.local/bin(パスの通ったディtレクトリ)にも置きます。pipx と同じ考え方で グローバルなpython環境を汚しません。
+

2026年11月6日 (金) 00:05時点における最新版

メインページ>コンピュータの部屋#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より数十倍と鬼のように速いので有用です。