「Uv の作る仮想環境」の版間の差分
(→仮想環境専用) |
|||
| (1人の利用者による、間の2版が非表示) | |||
| 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より数十倍と鬼のように速いので有用です。 | ||
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より数十倍と鬼のように速いので有用です。