~ venv の基本から実践的な使い方まで ~
Pythonで開発を進める際、「ライブラリのバージョンが合わなくて動かない」「PC全体の環境が汚れてしまう」といった悩みをお持ちではありませんか?
特にWindows環境でGit Bashを使用している場合、仮想環境の構築手順が少し特殊に感じるかもしれません。
本記事では、Python標準の仮想環境機能である「venv」を使い、Git Bash上でプロジェクトごとに独立した開発環境を作る方法を分かりやすく解説します。
仮想環境の仕組みといった基本から、現場で使える実践的なコマンド、よくあるエラーの対処法まで網羅しました。
これを読めば、環境構築のトラブルに惑わされることなく、スムーズにコーディングを始められるようになります。
仮想環境とは?
Python の仮想環境とは、プロジェクトごとに独立した Python 実行環境を作る仕組みのことです 。
【なぜ必要か?】 仮想環境を使わない場合、1台の PC には各ライブラリのバージョンを1種類しかインストールできません 。
| プロジェクト | 必要なライブラリ例 | 仮想環境なし(問題) | 仮想環境あり(解決) |
| プロジェクト A | requests 2.28 | バージョンが競合! | ✅ 独立した環境で管理 |
| プロジェクト B | requests 2.31 | バージョンが競合! | ✅ 独立した環境で管理 |
ポイント
仮想環境の実態は「ただのフォルダ」です 。.venv フォルダの中に Python 実行ファイルとライブラリが格納されています 。
削除するときは rm -rf .venv とフォルダを消すだけで完全にアンインストールできます 。

仮想環境(.venv)という仕組みを使うことで、本来なら1台のPC内で競合してしまうはずの異なるバージョンのライブラリ(例:requests 2.28と2.31)を、それぞれのプロジェクト専用の環境として、完全に「分離」して管理できる、という解決策を視覚化しています。
仮想環境のフォルダ構成
python -m venv .venv を実行すると、以下のフォルダが作成されます 。
.venv/
├── Scripts/
│ ├── python.exe ← Python 実行ファイル(元 Python のコピー)
│ ├── pip.exe ← pip コマンド
│ └── activate ← 有効化スクリプト
├── Lib/
│ └── site-packages/ ← インストールしたライブラリの保存場所
└── pyvenv.cfg ← 元 Python への参照情報基本コマンド一覧
Git Bash でよく使うコマンドをまとめました。
| 操作 | コマンド | 説明 |
| 仮想環境を作成 | python -m venv .venv | カレントディレクトリに .venv フォルダを作成 |
| 有効化 | source .venv/Scripts/activate | Git Bash での有効化コマンド |
| 無効化 | deactivate | 仮想環境を無効化する |
| インストール | pip install パッケージ名 | 有効化後に使用 |
| 一覧の書き出し | pip freeze > requirements.txt | インストール済みを記録 |
| 一括インストール | pip install -r requirements.txt | 記録から一括インストール |
| 仮想環境の削除 | rm -rf .venv | フォルダを削除するだけ |
実践!基本的な使い方の流れ
STEP 1:プロジェクトフォルダで仮想環境を作成する
cd ~/work/myproject
python -m venv .venvSTEP 2:仮想環境を有効化する
source .venv/Scripts/activate成功すると、プロンプトの左側に (.venv) と表示されます 。
STEP 3:ライブラリをインストールする
pip install requests※有効化せずに直接実行する場合は、以下のようにフルパスを指定します 。 ./.venv/Scripts/python.exe -m pip install requests
STEP 4:スクリプトを実行する
python tool_agent.pySTEP 5:作業終了後に無効化する
deactivateディレクトリ構成のパターン
パターン A:プロジェクトごとに仮想環境を作る(推奨)
- 構成例:
project_a/.venv,project_b/.venv - メリット: ライブラリの競合が起きにくい。チーム開発に適しています 。
パターン B:親ディレクトリで一括管理する
- 構成例:
~/work/.venv - メリット: 学習用途や小規模開発で、ディスク容量を節約できます 。
| 比較項目 | パターン A(個別) | パターン B(共有) |
| 管理の手間 | やや手間 | 楽 |
| ライブラリ競合 | 起きにくい ✅ | 起きやすい ⚠️ |
| ディスク容量 | 多く使う | 少なくて済む |
| 推奨シーン | 本番・チーム開発 | 学習・小規模 |
よくあるエラーと対処法
- エラー①:No such file or directory
- 原因: 仮想環境がまだ作成されていない 。
- 対処:
python -m venv .venvを実行してください 。
- エラー②:ModuleNotFoundError
- 原因: ライブラリ未インストール、または別の環境を参照している 。
- 対処: 正しい環境を有効化し、
pip installを行う 。
- エラー③:activate が実行できない
- 原因: カレントディレクトリに
.venvが存在しない 。 - 対処:
ls .venv/で存在を確認する 。
- 原因: カレントディレクトリに
よくある質問(FAQ)
Q. deactivate せずに .venv を削除したら?
A. 現在のターミナルのパス設定が一時的に壊れますが、ターミナルを開き直すだけで直ります。
PC 全体への影響はありません 。
Q. 複数のサブディレクトリから親の .venv を使うには?
A. 以下のコマンドで有効化、source ../.venv/Scripts/activate
または直接実行が可能です。 ../.venv/Scripts/python.exe tool_agent.py
まとめ:覚えておくべき3つのポイント
Pythonの仮想環境を使いこなすために、以下の3点だけは押さえておきましょう。
- 実態はただの「フォルダ」
仮想環境(.venv)はプロジェクト内にある普通のフォルダです。不要になったらフォルダごと削除するだけで、PC環境を汚さず完全にアンインストールできます 。 - どこからでも「参照可能」
有効化(activate)すれば、どのディレクトリに移動してもその環境のライブラリを使用できます 。
また、有効化しなくても実行ファイルのパスを直接指定すれば実行可能です 。 - 設定は「一時的なもの」
activateによる環境の切り替えは、その時開いているターミナル内だけで有効です 。
ターミナルを閉じれば設定はリセットされるため、PC全体の動作がおかしくなる心配はありません 。

