Một virtual environment (môi trường ảo) là một môi trường Python tách biệt với các gói được cài riêng của nó, tách khỏi Python hệ thống và khỏi các dự án khác. Nó giải quyết xung đột phụ thuộc — các dự án khác nhau có thể dùng các phiên bản khác nhau (thậm chí không tương thích) của cùng một gói.
Vấn đề nó giải quyết
Dự án A cần Django 3.2
Dự án B cần Django 4.2
→ Cài đặt toàn cục, chúng XUNG ĐỘT — bạn không thể có cả hai phiên bản ở cấp hệ thống.
Virtual environment cho mỗi dự án tập gói tách biệt RIÊNG của nó.
Không có sự tách biệt, cài đặt các gói toàn cục dẫn đến đụng độ phiên bản giữa các dự án và có thể làm hỏng các công cụ hệ thống vốn phụ thuộc vào các phiên bản cụ thể.
