「Uv の作る仮想環境」の版間の差分
| 4行: | 4行: | ||
uvの作る仮想環境は venv で作られる仮想環境と少し違います。 | 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より数十倍と鬼のように速いので有用です。 | ||
| + | |||
| + | ==仮想環境専用== | ||
| + | |||
| + | managed python には uv で仮想環境は作れますが、'''仮想環境の外にパッケージをインストールすることはできません'''。 | ||
| + | managed python は仮想環境専用の pythonと考えた方が良いでしょう。 | ||
| + | |||
| + | グローバルなコマンドをパッケージとして managed pythonにインストールするには uv tool install を使うべきです。 | ||
| + | これは仮想環境を自動的に作成し、パッケージをインストールして、パッケージがインストールした CLIコマンドを ~/.local/bin(パスの通ったディtレクトリ)にも置きます。pipx と同じ考え方で グローバルなpython環境を汚しません。 | ||
2026年11月5日 (木) 07:39時点における版
メインページ>コンピュータの部屋#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より数十倍と鬼のように速いので有用です。
仮想環境専用
managed python には uv で仮想環境は作れますが、仮想環境の外にパッケージをインストールすることはできません。 managed python は仮想環境専用の pythonと考えた方が良いでしょう。
グローバルなコマンドをパッケージとして managed pythonにインストールするには uv tool install を使うべきです。 これは仮想環境を自動的に作成し、パッケージをインストールして、パッケージがインストールした CLIコマンドを ~/.local/bin(パスの通ったディtレクトリ)にも置きます。pipx と同じ考え方で グローバルなpython環境を汚しません。