Виртуальная среда в Python для разработки проектов работает следующим образом: она позволяет устанавливать пакеты Python в изолированном от остальной части системы месте. 1 Это значит, что каждый проект может иметь свои собственные зависимости, вне зависимости от того, какие зависимости у другого проекта. 3
При активации виртуальной среды изменяется переменная PATH. 1 Когда вводится команда, которая не может быть найдена в текущем рабочем каталоге, операционная система начинает просматривать все пути в переменной PATH. 1 То же самое происходит и с Python: когда импортируется библиотека, Python просматривает PATH на предмет расположения библиотеки. 1
Если виртуальная среда находится перед всеми остальными путями, то операционная система будет искать сначала в ней, а потом уже обращаться к общесистемным каталогам. 1 Таким образом, всё, что установлено в виртуальной среде, будет найдено первым, и так можно переопределять общесистемные пакеты и инструменты. 1
После активации виртуального окружения Python создаёт структуру файлов и папок, обеспечивающую изоляцию проекта и управление зависимостями. 5 Эта структура включает в себя папки Include, Lib и Scripts, а также файл pyvenv.cfg. 5