
Venv создает локальную копию интерпретатора Python с отдельной директорией для библиотек, что исключает конфликты версий пакетов между проектами. Каждое окружение содержит каталоги bin или Scripts, lib и include, обеспечивая полную изоляцию.
Для создания окружения выполняется команда python -m venv имя_окружения. Рекомендуется использовать короткие и информативные названия, соответствующие проекту, чтобы легко идентифицировать окружения на диске.
Активация на Linux и macOS происходит через source имя_окружения/bin/activate, на Windows через имя_окружения\Scripts\activate.bat. После активации prompt изменяется, и все установки pip применяются только к текущему окружению.
Для предотвращения ошибок совместимости сразу после создания окружения следует обновить pip командой python -m pip install —upgrade pip. Также полезно создавать файл requirements.txt для фиксации зависимостей проекта и ускорения развертывания на других машинах.
Проверка установленного Python и версии для venv
Для работы с виртуальными окружениями Python требуется корректная установка интерпретатора версии 3.3 или выше. Проверить наличие Python на системе можно командой python --version или python3 --version в терминале. Результат должен отображать точную версию, например Python 3.11.4. Если команда не распознаётся, интерпретатор не установлен или путь к нему не добавлен в переменную окружения PATH.
Для создания venv рекомендуется использовать версии Python 3.7–3.12, так как они обеспечивают совместимость с большинством библиотек и встроенной утилитой venv. Проверить расположение исполняемого файла Python можно командой where python на Windows или which python3 на Linux/macOS. Это важно для точного указания пути при создании виртуального окружения, особенно если на системе установлено несколько версий Python.
После подтверждения версии Python следует убедиться, что пакет venv доступен. В Python 3.3+ модуль включён по умолчанию, но на некоторых Linux-дистрибутивах требуется установка пакета python3-venv через пакетный менеджер, например sudo apt install python3-venv. Без этого создание виртуального окружения завершится ошибкой ModuleNotFoundError: No module named 'venv'.
Для окончательной проверки корректности установки можно выполнить команду python -m venv test_env. Если окружение создаётся без ошибок, интерпретатор готов к работе с venv. Рекомендуется удалить тестовую папку после проверки: rm -r test_env на Linux/macOS или rmdir /s /q test_env на Windows.
Установка модуля venv через pip и системные пакеты
Модуль venv включён в стандартную библиотеку Python 3.3 и выше. Проверить наличие модуля можно командой:
python3 -m venv --help
Если модуль отсутствует, его можно установить через pip:
python3 -m pip install virtualenv
Пакет virtualenv полностью совместим с venv и позволяет создавать окружения с конкретной версией Python, а также изолировать пакеты.
Для Linux и macOS установка через системные пакеты обеспечивает интеграцию с системным Python:
| Система | Команда | Описание |
|---|---|---|
| Debian/Ubuntu | sudo apt install python3-venv |
Устанавливает модуль venv для текущей версии Python 3 |
| Fedora/RHEL | sudo dnf install python3-venv |
Добавляет модуль venv для системного Python |
| Arch Linux | sudo pacman -S python-virtualenv |
Используется virtualenv для создания виртуальных окружений |
| macOS (Homebrew) | brew install python@3 |
Модуль venv включён в стандартную установку Python |
После установки проверка создаёт тестовое окружение:
python3 -m venv test_env
Если каталог test_env создаётся без ошибок, установка завершена успешно и venv готов к работе.
Создание нового виртуального окружения в указанной папке
Для создания виртуального окружения Python в конкретной папке используется встроенный модуль venv. Откройте терминал и перейдите в каталог, где хотите разместить окружение. Например, для папки my_project/venv выполните команду:
python -m venv my_project/venv
Эта команда создаст структуру каталогов внутри my_project/venv, включая подпапки bin (или Scripts на Windows), lib и include. Файлы в этих папках обеспечивают изоляцию пакетов и интерпретатора от глобальной установки Python.
Для явного указания версии Python используйте полный путь к интерпретатору. Например:
python3.11 -m venv my_project/venv
После создания окружения активируйте его, чтобы установка пакетов происходила только внутри этого окружения:
На Windows:
my_project\venv\Scripts\activate
На Linux/macOS:
source my_project/venv/bin/activate
Для проверки корректности активации используйте python --version и pip list. В активированном окружении можно устанавливать пакеты с помощью pip install, и они не будут влиять на глобальные библиотеки Python.
Активация виртуального окружения на Windows и Linux
После создания виртуального окружения с помощью python -m venv <имя_окружения> необходимо его активировать для изоляции зависимостей проекта.
Windows
- Откройте командную строку (CMD) или PowerShell.
- Перейдите в каталог, где находится ваше окружение:
- Для CMD выполните:
- Для PowerShell выполните:
- После успешной активации в начале строки командной строки появится имя окружения в скобках, например
(имя_окружения). - Если PowerShell блокирует выполнение скриптов, выполните команду
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserодин раз с правами администратора.
cd путь\к\папке\проекта
имя_окружения\Scripts\activate.bat
имя_окружения\Scripts\Activate.ps1
Linux / macOS
- Откройте терминал.
- Перейдите в каталог проекта:
- Выполните команду активации:
- После активации в начале строки терминала появится имя окружения, например
(имя_окружения). - Для выхода из окружения используйте команду
deactivate.
cd /путь/к/проекту
source имя_окружения/bin/activate
Регулярная активация окружения перед установкой пакетов гарантирует, что зависимости не будут конфликтовать с глобальными пакетами Python.
Деактивация виртуального окружения и управление сессией

После завершения работы в виртуальном окружении Python важно корректно завершить сессию, чтобы не создавать конфликтов с системными пакетами и другими проектами.
Для деактивации окружения выполните команду:
deactivate
Она сбрасывает переменные среды, возвращая интерпретатор к системному Python. На Windows это также можно сделать через PowerShell или CMD, на Unix-подобных системах – через терминал Bash или Zsh.
Рекомендации по управлению сессией:
- Не оставляйте активное окружение открытым в нескольких терминальных вкладках. Это повышает риск случайного изменения глобальных пакетов.
- Перед деактивацией убедитесь, что все необходимые зависимости установлены и сохранены в
requirements.txt:
pip freeze > requirements.txt
- Для повторного входа используйте команду активации соответствующую вашей ОС:
- Windows (CMD):
venv\Scripts\activate.bat - Windows (PowerShell):
venv\Scripts\Activate.ps1 - Linux/macOS:
source venv/bin/activate
Если сессия терминала завершилась неожиданно, убедитесь, что окружение не осталось в переменных среды, проверив путь интерпретатора:
which pythonилиpython --version
Регулярное завершение сессий предотвращает накопление конфликтующих пакетов и обеспечивает стабильность разработки.
Установка пакетов внутри виртуального окружения с pip
После активации виртуального окружения команды pip устанавливают пакеты исключительно в его директорию, изолируя их от глобальной системы Python. Для проверки активации используйте python -m venv\Scripts\activate на Windows или source venv/bin/activate на Linux/macOS. Команда pip list покажет текущие установленные пакеты внутри окружения.
Для установки конкретного пакета используйте команду pip install имя_пакета. Можно указывать версию через оператор равенства: pip install requests==2.31.0. Чтобы обновить пакет до последней версии, применяется pip install --upgrade имя_пакета.
Для массовой установки пакетов из файла зависимостей используется pip install -r requirements.txt. Формат файла требует указания имени пакета и опционально версии, например: numpy>=1.25.0. Это обеспечивает воспроизводимость окружения.
Для контроля установленных пакетов и их версий удобно использовать pip freeze > requirements.txt, что позволяет сохранить текущее состояние окружения для последующей репликации на других машинах.
Если требуется ускорить установку или избежать конфликта версий, можно использовать локальный кэш или указать индекс пакетов: pip install --no-cache-dir --index-url https://pypi.org/simple имя_пакета. Для удаления пакета применяется pip uninstall имя_пакета.
Экспорт и импорт зависимостей через requirements.txt
Для фиксации текущих зависимостей проекта используйте команду:
pip freeze > requirements.txt
Она создает файл с точными версиями установленных пакетов. Это важно для воспроизводимости окружения на других машинах или серверах.
При переносе проекта на другую систему активируйте виртуальное окружение и выполните:
pip install -r requirements.txt
Команда установит все пакеты в версиях, указанных в файле, предотвращая конфликты между библиотеками.
Рекомендуется регулярно обновлять requirements.txt после добавления новых пакетов:
pip freeze > requirements.txt
Для исключения лишних зависимостей можно использовать фильтрацию через pip freeze | grep -v "pkg-to-exclude".
При работе с проектами разных версий Python создавайте отдельные requirements-файлы, например requirements-py39.txt и requirements-py310.txt, чтобы избежать проблем с совместимостью.
Для проверки корректности зависимостей перед импортом используйте команду:
pip check
Она выявляет конфликты между установленными пакетами, что позволяет устранить их до запуска проекта.
Удаление и очистка виртуального окружения

Для удаления виртуального окружения достаточно удалить его каталог. В Linux и macOS выполните команду rm -rf /путь/к/venv, в Windows используйте rmdir /s /q C:\путь\к\venv. Это полностью удалит все файлы окружения, включая установленные пакеты и исполняемые файлы Python.
Если необходимо очистить окружение без полного удаления, удалите содержимое папки lib/pythonX.Y/site-packages (Linux/macOS) или Lib\site-packages (Windows). После этого окружение останется активным, но все сторонние пакеты будут удалены.
Для автоматизации очистки можно использовать pip freeze > requirements.txt перед удалением, чтобы сохранить список установленных пакетов. Это позволяет затем восстановить их в новом окружении командой pip install -r requirements.txt.
После удаления виртуального окружения проверьте системные переменные PATH, чтобы убедиться, что ссылки на старый venv не остались. Особенно важно удалить пути из IDE и скриптов запуска, иначе Python может использовать устаревшие исполняемые файлы.
Удаление и очистка не влияют на глобальную установку Python, поэтому безопасно применять эти действия для освобождения дискового пространства или подготовки к созданию нового окружения с другой конфигурацией.
Вопрос-ответ:
Что такое виртуальное окружение Python и зачем оно нужно?
Виртуальное окружение Python — это изолированная среда для проектов, в которой можно устанавливать отдельные версии библиотек, не влияя на системную установку Python. Это удобно, когда в разных проектах требуются разные версии пакетов или интерпретатора, так как позволяет избегать конфликтов и сохраняет чистоту основной системы.
Как создать виртуальное окружение с помощью venv на Windows?
Чтобы создать виртуальное окружение на Windows, необходимо открыть командную строку и перейти в папку проекта. Далее выполняется команда python -m venv имя_окружения. После создания окружения его нужно активировать командой имя_окружения\Scripts\activate. После активации все установленные пакеты будут находиться только в этом окружении.
Как работать с виртуальным окружением на macOS или Linux?
На macOS или Linux создание окружения аналогично: нужно открыть терминал, перейти в каталог проекта и выполнить python3 -m venv имя_окружения. Чтобы включить окружение, используется команда source имя_окружения/bin/activate. После активации можно устанавливать пакеты с помощью pip, и они будут доступны только внутри этого окружения.
Можно ли обновлять версии библиотек внутри виртуального окружения, не затрагивая другие проекты?
Да. Все изменения касаются только текущего виртуального окружения. Например, можно обновить библиотеку с помощью pip install --upgrade название_пакета, и это не повлияет на другие окружения или системную установку Python. Это позволяет безопасно тестировать новые версии библиотек, не создавая рисков для других проектов.
Как удалить виртуальное окружение после завершения работы над проектом?
Удаление окружения сводится к удалению папки, в которой оно создано. На Windows это можно сделать через Проводник или команду rmdir /S /Q имя_окружения, а на macOS/Linux — с помощью rm -rf имя_окружения. После удаления окружения все установленные внутри него пакеты также исчезнут, при этом системная установка Python останется неизменной.
