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 中は python と pip が .venv 内を指し、pip install はその環境にだけ入る。
PEP 668 に従う近年の OS ではシステム環境への直接 install が拒否されるため、venv の利用がほぼ必須になっている。
よくある誤解
- venv をコピーすれば移植できる: 中身は OS と Python バージョンに依存するため不可。
対象環境で作り直す。 - activate しなくても有効: activate しなければ
pipはシステム側を指したまま。
関連
activate に失敗するケースは venv が activate できない、システム install 拒否は externally-managed-environment を参照。
CLI ツール単体なら pipx が選択肢になる。