仮想環境(virtual environment)は、独自にインストールされたパッケージを持つ隔離された Python 環境で、システムの Python や他のプロジェクトとは分離されています。これは依存関係の衝突を解決します。異なるプロジェクトが、同じパッケージの異なる(さらには互換性のない)バージョンを使えるのです。
これが解決する問題
Project A needs Django 3.2
Project B needs Django 4.2
→ Installing globally, they CONFLICT — you can't have both versions system-wide.
Virtual environments give each project its OWN isolated set of packages.
隔離なしにパッケージをグローバルにインストールすると、プロジェクト間でバージョンの衝突が起き、特定のバージョンに依存するシステムツールを壊す可能性があります。
