# 環境構築+共有(uv 使用) uv 使用した、Python 環境の構築+共有方法を記す。 ## 前提環境 - Windows 環境 - python のバージョンは 3.0 以上 - python ライブラリ - pip - uv ## uv - uv の説明入れる。(動作がくそ速くて軽い次世代のパッケージマネージャ) - uv は開発が活発であり、ベストプラクティスは今後変化しうる可能性が高い - と、一年前の zenn に書かれてた。どこのページでもこのリスク?は割と書かれてる。 - このページを作ったときのバージョン:v 0.9.18(一年前は 0.3 とか 4 だったらしい。すご) - pip から即インストールできる ``` pip install uv ``` ## プロジェクトの新規作成(初期化) ``` # プロジェクトのルート(プロジェクトのフォルダ作成済)の場合 uv init # プロジェクト未作成(新規作成も行う)場合 uv init プロジェクト名 ``` - 以下のようなディレクトリ構成となる。 ![](Images/uv_init.png) - pyproject.toml が作られることが肝(パッケージ管理に使用される) ## ライブラリ導入+バージョンの記録・固定 ``` uv add xxxxx ``` - 初回実行時に新規作成されるもの(python ファイル実行時にも同様の挙動) - venv(仮想環境)フォルダ - uv.lock(ライブラリのバージョン) - uv.lock はいつどのタイミングで更新されるのか確認するか - 仮想環境を明示的にアクティブにしなくても、仮想環境上にインストールされる - uv pip list と、pip list の比較で確認可能 - 仮想環境の明示的な作成方法 ``` uv venv ``` - uv.lock の明示的な更新方法 ``` uv lock ``` ## python ファイル実行方法 - 下記コマンドにより自動的に仮想環境で実行される ``` uv run xxxx.py ``` ## 環境の同期(インストール)方法 - 下記コマンドにより、lock ファイルからライブラリのインストールを行う。(未確認) ``` uv sync ``` ## 参考 - [uv 公式ドキュメント](https://docs.astral.sh/uv/) - [uv (python パッケージマネージャー)の使い方 詳細版(2024/11/2)](https://qiita.com/futakuchi0117/items/c913c64823724f3f9851) - [uv でよく使うコマンド(2025/6/12)](https://note.alhinc.jp/n/n8456e2967ce7) - [uv 入門(2025/5/10)](https://speakerdeck.com/mickey_kubo/pythonpatukeziguan-li-uv-wan-quan-ru-men)