用語集 最終更新 2026.08.09

venv

venv は、Python 標準ライブラリに入っている仮想環境の作成機能です。 プロジェクトごとに独立した Python 環境を作り、ライブラリのバージョン衝突を避けるために使います。

何をしているのか

python -m venv .venv を実行すると、そのディレクトリの中に Python 本体へのリンクと、そのプロジェクト専用のパッケージ置き場が作られます。有効化(activate)すると、pythonpip がその箱の中のものを指すようになります。

つまり venv がやっているのはパスの切り替えです。魔法ではないので、有効化を忘れれば普通にシステム側へインストールされます。

役割を混同しない

役割 担当
環境を分ける venv
パッケージを入れる pip
依存を固定して再現する ロックファイルを持つツール

venv は依存解決もロックもしません。ここを期待すると「venv を使っているのに環境が揃わない」という誤解が生まれます。

つまずきやすいところ

  • 有効化していないことに気づかないプロンプト(.venv) が出ているか、which python(Windows なら where python)で確認する
  • .venv をリポジトリにコミットしてしまう:中身は環境依存のバイナリを含む。.gitignore に入れる
  • 移動・リネームすると壊れる:内部に絶対パスを持つため、フォルダごと移すと動かない。作り直す
  • エディタが別の環境を見ている:ターミナルでは動くのに補完が効かない場合、エディタ側でインタプリタを選び直す

実務で見るポイント

  • 標準機能なので追加インストールが要らず、教材や既存手順との相性がよい
  • 個人の学習なら venv + pip で十分。チーム開発では uvPoetry が環境作成まで面倒を見る
  • Dockerコンテナごと分ける場合、コンテナ内でさらに venv を切るかは方針次第