mise と uv を併用し、グローバル環境とプロジェクト環境を分離して管理する。 ## 使い分け | 用途 | 推奨ツール | 理由 | |------|-----------|------| | グローバル [[Python]] | mise | `python` コマンドが直接使える | | グローバル CLI ツール | uv tool | 隔離環境で依存競合なし | | プロジェクト依存 | uv | 仮想環境と依存管理が統合されている | ## グローバル環境 mise でグローバル Python を設定すると、[[ターミナル]]で `python` と打つだけで使える。 ```bash # グローバル Python の設定 mise use -g [email protected] python --version # 直接使える ``` グローバルな CLI ツール (ruff, black など) は `uv tool` でインストールする。各ツールが隔離環境で管理されるため、依存の競合が起きない。 ```bash # グローバル CLI ツール uv tool install ruff uv tool install black ruff --version # 直接使える ``` ## プロジェクト環境 プロジェクト内では uv で仮想環境と依存を管理する。uv はプロジェクト内で `uv run` 経由で実行する設計のため、グローバル用途には向かない。 ```bash # プロジェクト内での使用 uv run python --version ``` > [!tip] > polars や seaborn などのライブラリは CLI ツールではないため、`uv tool` ではなくプロジェクトの依存として管理する。アドホック分析用のプロジェクトを作成し、そこで依存を管理するとよい。 ## 関連ノート - **[前提]** [[uv を macOS にインストールする]]: 本ノートの併用方針は uv がインストール済みであることが前提 - **[応用]** [[uv で Python プロジェクトを新規作成する]]: 本ノートの役割分担 (プロジェクトは uv が担当) の実践例 - **[応用]** [[uv で Python ランタイムを変更する]]: プロジェクト環境は uv で管理するという本ノートの方針の実践例 - **[対比]** [[R はツールをグローバルにインストールし、分析ライブラリは renv で管理する]]: 同じ「グローバル / プロジェクト分離」問題を R の renv で解いた姉妹ケース