最近uv使い始めたんですが、なんか毎回程よく忘れたころに環境構築するせいでグダグダになりがちなので忘備録として
uvを使って仮想環境を構築する
プロジェクトの作成
まず、プロジェクトの作成から
プロジェクト名(ymd)とpythonのバージョンを指定してuv initします。
なんと1行で終わります。楽ですね
uv init -p 3.10 ymd
作成されたプロジェクトフォルダに移動して、勝手にできている hello.py を実行すると
あら不思議、仮想環境ができました。不思議ですねぇ~(棒)
uv run hello.py
>>
warning: `VIRTUAL_ENV=C:\Workspace\Python\.venv` does not match the project environment path `.venv` and will be ignored
Using CPython 3.10.0
Creating virtual environment at: .venv
Hello from ymd!
なんか警告してきやがりましたが、既存の環境と新規作成した環境をうまく認識できてないことに対する警告のようです。対処法はこちらの記事を参考に
warning:
VIRTUAL_ENV=C:\Workspace\Python\.venv
does not match the project environment path.venv
and will be ignored
他の環境が構築されていないクリーンなフォルダで作成したら特に警告もなくできました。
PS C:\tmp\ymd> uv run hello.py
>>
Using CPython 3.10.0
Creating virtual environment at: .venv
Hello from ymd!
問題なく実行されると、"Hello from ymd!" と挨拶してくれます。かわいいね
この時点でもうすでに仮想環境の構築は終わっていて、このまま依存関係の同期やらパッケージの追加をしても何ら問題はないらしいんですが、、、
僕は (ymd) が付いてないと安心できない病気のため、明示的にアクティベートします()。
PS C:\tmp\ymd> .venv\Scripts\activate
>>
(ymd) PS C:\tmp\ymd>
なんか (ymd) ついてないと謎の危機管理が発動するんすよね。
パッケージの管理
パッケージの追加
uv addを使って追加していきます、pipと混在するとめんどくさいことになるらしいので統一しようね
uv add polars xarray
パッケージの表示
インストール済みのパッケージは uv pip list で表示
uv pip list
>>
numpy 2.2.2
packaging 24.2
pandas 2.2.3
polars 1.22.0
...
...
パッケージの削除
「あー、またpandas入り込んでんじゃん!もぉ~~」ってときは、、
・・・大丈夫、uv remove で消してやりましょう!(消しゴムマジックで消してやるのさ)
uv remove pandas
パッケージの同期
パッケージをrequirements.txtから引っ張ってくるときと同期は以下でできます。
特に変わったところはなさそう。
uv add -r requirements.txt
uv sync
まとめ
とりあえず以下順番に実行すればおk
# windows
uv init -p 3.10 ymd
cd ymd
uv run hello.py
.venv/Scripts/Activate
#linux
uv init -p 3.10 ymd
cd ymd
uv run hello.py
source .venv/bin/activate
これで次また忘れても大丈夫やな! ヨシッ!!