uv 0.4によるPython環境構築
こんにちは。この度、開発マシンを新しくしたため、数年ぶりにPython環境を1から構築する機会がありました。個人開発での利用がメインなので、pyenv+pipというシンプルな組み合わせでもともと利用していました。最近のベストプラクティスは何なんだろうと調べていくうちに、ちょうど2024年8月にあったuv 0.3.0
のリリースから、プロジェクト管理ツールの機能が加わってきたことで、uvが熱いという流れがありそうです。
折角なので、uvだけを使って新しくPython環境構築をしてみました。
uvとは
Ultra violetではないようです。Rustで開発されたPythonにおけるプロジェクト管理・ツール管理・ランタイム管理・パッケージ管理を全部詰め込んだ上で、従来のツールよりも動作が高速という新しいツールのようです。
2024年10月現在ではversion 0.4ですが、毎週のように新しいリリースがでており、非常にアクティブに開発されている模様です。
構築環境
- Ubuntu 24.04 LTS
インストール
curl -LsSf https://astral.sh/uv/install.sh | sh
exec $SHELL -l
を用いてシェルの再読込が必要。再読込をすると、バージョンを確認できるようになる。
uv --version
> uv 0.4.18
環境構築
uv python install
このコマンドで自動的に最新のPythonバージョンをインストールできます。
uv python install 3.12
このようにバージョン指定も可能。
Pythonのインストールも非常に高速でした。
どうやら、pyenvはPythonのソースコードからビルドしているけれども、uvはビルド済みの3rd partyバイナリを利用しているため、ビルドの時間がかからないらしい。
プロジェクトの作成
uv init [project_name]
[project_name]をいれると、自動でディレクトリをHome配下に作ってくれる。
仮想環境
最初の仮想環境の立ち上げ
uv venv
仮想環境のアクティベート
source .venv/bin/activate
作成したプロジェクト内に.venv
が作成されて、プロジェクトの仮想環境が立ち上がる。仮想環境を最初に立ち上げないと、パッケージのインストールなどもできないです。
パッケージ追加
uv pip install pandas
試しにPandasを追加してみました。たしかに体感でわかるくらい爆速でインストールが終わる。
一旦ここまで
そもそも、あまり凝ったことをする必要はなかったので、パッケージ追加までできれば個人的には動かせそう。また何か使うようになったら追記します。
Discussion