できない.dev

venv

別名: Python仮想環境 / 仮想環境 / virtualenv

Python 標準ライブラリ同梱の仮想環境ツール。プロジェクトごとに独立した site-packages と Python 実行ファイルを作り、システム Python を汚さずに依存を隔離する。

#venv#python#virtual-environment#pip#isolation

定義

venv は Python 標準ライブラリに含まれる仮想環境作成モジュール。python -m venv .venv でプロジェクト専用ディレクトリを作り、その中に独立した Python 実行ファイルと site-packages を持たせる。
システム全体の Python を汚さずに依存を隔離できる。

詳細

作成後は OS / シェルごとの activate スクリプトで有効化する(source .venv/bin/activate、Windows は .venv\Scripts\activate)。
activate 中は pythonpip.venv 内を指し、pip install はその環境にだけ入る。
PEP 668 に従う近年の OS ではシステム環境への直接 install が拒否されるため、venv の利用がほぼ必須になっている。

よくある誤解

  • venv をコピーすれば移植できる: 中身は OS と Python バージョンに依存するため不可。
    対象環境で作り直す。
  • activate しなくても有効: activate しなければ pip はシステム側を指したまま。

関連

activate に失敗するケースは venv が activate できない、システム install 拒否は externally-managed-environment を参照。
CLI ツール単体なら pipx が選択肢になる。