背景
- なぜvnevが必要か?
- プロジェクトごとの環境分離、ライブラリやPythonの本体のバージョンの違いの競合を防ぐ
比較
| 項目 |
venv |
uv |
| 環境構築の手軽さ |
Python標準で追加インストール不要 |
uv単体で仮想環境もパッケージ管理も対応、作業が一括 |
| パッケージ管理 |
pipやpipenvなど |
uvの高速pip互換(Rust製で高速化) |
| 速度 |
標準的(pip準拠) |
圧倒的に速い。pipの約10倍、condaの30倍以上 |
| エコシステムの成熟度 |
非常に安定・実績豊富 |
新しいツール、事例は増加中 |
| ディスク使用量 |
環境ごとにやや多め |
少なめ(軽量設計) |
| おすすめ場面 |
複雑で安定が必要な既存プロジェクト |
新規案件や高速サイクル重視の場合 |
今日のゴール
- 既存でvenvさせている物をuvに置き換えが終わる
- PJディレクトリに移動したら自動的に仮想環境がいつものが立ち上がる
やってみた
curl -LsSf https://astral.sh/uv/install.sh | sh
uv --version
uv init
uv python install 3.14
uv venv
brew install direnv
eval "$(direnv hook zsh)"
source .venv/bin/activate
参考
zenn.dev
まとめ
- uvの存在あまり知らなかったが、とりあえずは理解が進んだ
- 仮想環境をuvに置換えが完了した
- 自動で切り替わる所まで出来た