はじめに
Anaconda環境は便利ですが,使っていくうちに容量が大きくなりやすく,Python管理もconda・pip・venvなど複数に分かれがちです.
数年前にセットアップしたAnaconda環境があったので,"uv"への移行を試してみました.
この記事ではWindows(Git Bash)環境での手順と,切り替えると何が変わるのかをまとめます.
uvとは?
uvはRust製の高速なPythonパッケージ・環境マネージャーです.
従来のPython環境では,
- pip(パッケージ管理)
- venv(仮想環境)
- pyenv(Pythonバージョン管理)
など複数のツールを組み合わせて使うことが多いですが,単なる"速いpip"というより,"Python環境管理全体をまとめるツール"というイメージが近いかもしれません.
移行すると何が変わるか
容量がかなり減る
| ツール | 容量 |
|---|---|
| Anaconda3 | 9.3 GB |
| uv本体 | 63 MB |
Anacondaは多数のツールやライブラリが同梱されているため,使っていない機能も含めて容量を占有しがちです.自分の環境では,Anaconda3の約9.3GBに対して,uv本体は63MB程度とかなり軽量でした.Python本体や各プロジェクトの仮想環境を含めても,以前よりかなり軽くなった印象です.
Python管理がuvだけで完結する
uvを使うと,pyenvを別途用意しなくてもPythonのインストールが完結します.
# これだけでPythonのインストールが完結する
uv python install 3.13
バージョン管理のために別ツールを入れる必要がなくなるため,環境構築のハードルがかなり下がります.
activate忘れがなくなる
uv run を使うと,仮想環境をactivateしなくてもそのまま実行できます.
uv run main.py
仮想環境のactivate忘れによる実行ミスを減らしやすくなります.
パッケージのインストールが速い
# プロジェクトを作成
uv init sample-project
cd sample-project
# パッケージ追加
uv add pandas
pipと比べて高速で,特に初回環境構築時の待ち時間が大きく減ります.
MinicondaではなくuvをAnacondaの代替に選んだ理由
Anacondaの代替としてはMinicondaも有名ですが,比較すると以下のような違いがあります.
| Miniconda | uv | |
|---|---|---|
| 速度 | 普通 | 速い(Rust製) |
| 容量 | 数百MB〜 | 63MB |
| conda互換 | あり | なし |
| Python管理 | 別途必要 | uv単体で完結 |
科学計算系ライブラリ(numpy,pandasなど)はuvでもpip経由でインストールできるため,conda固有の機能が不要であればuvで十分だと思います.
データサイエンス・機械学習用途でconda固有のパッケージが必要な場合はMinicondaの方が適しているかもしれません.
移行手順(Windows)
1. 現在のAnaconda環境を確認する
conda env list
# conda environments:
base * C:\Users\username\Anaconda3
py2 C:\Users\username\Anaconda3\envs\py2
今回は base(Python 3.7)と py2(Python 2.7)の2環境がありました.
どちらもサポート終了済みのバージョンのため,完全移行としてAnacondaを削除し,新規インストールとして進めます.
2. uvをインストールする
wingetを使ってインストールします.
winget install --id=astral-sh.uv -e
インストール後,PATHが通っていない場合はBashのプロファイルに追記します.
echo 'export PATH="$PATH:/c/Users/username/AppData/Local/Microsoft/WinGet/Packages/astral-sh.uv_Microsoft.Winget.Source_8wekyb3d8bbwe"' >> ~/.bashrc
echo 'export PATH="$PATH:/c/Users/username/.local/bin"' >> ~/.bashrc
source ~/.bashrc
インストール確認:
uv --version
# uv 0.11.15
3. Anacondaをアンインストールする
アンインストーラーをコマンドから実行します.
Start-Process "C:\Users\username\Anaconda3\Uninstall-Anaconda3.exe" -Wait
GUIのウィンドウが開くので,指示に従って削除します.
4. Pythonをインストールする
uvだけでPythonのインストールが完結します.pyenvは不要です.
uv python install 3.13
Installed Python 3.13.13 in 9.98s
PATHを通します.
uv python update-shell
# うまく反映されない場合はシェルを再起動してください
5. 動作確認
uv run python --version
# Python 3.13.13
移行結果まとめ
| 移行前(Anaconda) | 移行後(uv) | |
|---|---|---|
| ツール | Anaconda3 | uv |
| 容量 | 9.3 GB | 63 MB |
| Pythonバージョン | 3.7(EOL) | 3.13.13 |
| Python管理 | conda | uv単体 |
| 削減容量 | — | 約9.2 GB |
おわりに
一般的なPython開発であれば,"pip・venv・pyenvを別々に管理する構成"からuvへ移行するだけでも,環境がかなりシンプルになります.
古いAnaconda環境を整理したい場合の選択肢の一つとして,参考になれば幸いです.