Как создать виртуальное окружение Python venv: пошаговая инструкция
Изолируйте зависимости проектов и избегайте конфликтов версий
Введение
При разработке на Python часто возникает проблема: разные проекты требуют разные версии одних и тех же библиотек. Установка пакетов глобально приводит к конфликтам и «загрязнению» системы. Решение — виртуальные окружения. В этой статье мы подробно разберём, как создать виртуальное окружение с помощью встроенного модуля venv, активировать его и использовать в повседневной работе.
Что такое venv и зачем он нужен
venv — это модуль стандартной библиотеки Python (доступен с версии 3.3), который позволяет создавать изолированные среды. Каждое виртуальное окружение имеет собственный интерпретатор Python и собственную папку для установки пакетов. Это даёт несколько преимуществ:
Изоляция зависимостей: пакеты, установленные в одном окружении, не влияют на другие проекты и на глобальную систему.
Воспроизводимость: вы можете зафиксировать версии библиотек в
requirements.txtи легко развернуть проект на другой машине.Безопасность: эксперименты с новыми пакетами не нарушат работу системных инструментов.
Чистота: не засоряется глобальное пространство пакетов.
Требования
Установленный Python версии 3.3 или выше. Проверить версию:
python --versionилиpython3 --version.Доступ к командной строке (Terminal, PowerShell, cmd).
Базовые навыки работы с командной строкой.
Шаг 1: Проверка установки Python
Откройте терминал и выполните:
python --versionили
python3 --versionВы должны увидеть что-то вроде Python 3.11.5. Если команда не найдена, установите Python с официального сайта.
Шаг 2: Переход в папку проекта
Виртуальное окружение обычно создаётся в корневой папке проекта. Перейдите в неё:
cd путь/к/вашему/проектуЕсли папки ещё нет, создайте её и перейдите внутрь:
mkdir myproject
cd myprojectШаг 3: Создание виртуального окружения
Выполните команду:
python -m venv venvЗдесь venv после -m — это имя модуля, а последний аргумент venv — имя создаваемой папки. Вы можете назвать её иначе, например env или .venv. После выполнения в текущей директории появится папка venv с копией интерпретатора и служебными файлами.
Важно: не добавляйте папку виртуального окружения в систему контроля версий (Git). Добавьте её в .gitignore.
Шаг 4: Активация окружения в Windows
В Windows команды различаются для разных оболочек.
Для cmd (командная строка):
venv\Scripts\activate.batДля PowerShell:
.\venv\Scripts\Activate.ps1Если PowerShell выдаёт ошибку о запрете выполнения сценариев, разрешите их запуск:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserДля Git Bash:
source venv/Scripts/activateПосле активации в начале строки приглашения появится (venv).
Шаг 5: Активация окружения в macOS и Linux
Выполните:
source venv/bin/activateили
. venv/bin/activateПриглашение изменится, добавив (venv).
Шаг 6: Проверка активации
Убедитесь, что используется правильный интерпретатор:
which python # macOS/Linux
where python # WindowsПуть должен указывать на папку venv. Также можно проверить версию:
python --versionШаг 7: Установка пакетов
Теперь все пакеты, устанавливаемые через pip, будут попадать только в это окружение. Например:
pip install requestsПроверить список установленных пакетов:
pip listШаг 8: Фиксация зависимостей
Чтобы сохранить список пакетов для других разработчиков или для развёртывания, выполните:
pip freeze > requirements.txtВ файле requirements.txt окажутся все установленные пакеты с версиями. Для установки из такого файла в другом окружении:
pip install -r requirements.txtШаг 9: Деактивация окружения
Когда работа завершена, выйдите из виртуального окружения:
deactivateПриглашение вернётся к обычному виду.
Шаг 10: Удаление виртуального окружения
Просто удалите папку venv:
rm -rf venv # macOS/Linux
rmdir /s venv # Windows (cmd)Или удалите через проводник. Никаких следов в системе не останется.
Шаг 11: Использование venv с IDE
Большинство современных IDE (PyCharm, VS Code) автоматически определяют виртуальные окружения. В PyCharm при создании проекта выберите «New environment using Virtualenv». В VS Code нажмите Ctrl+Shift+P, введите «Python: Select Interpreter» и укажите путь к venv/bin/python (или venv\Scripts\python.exe).
Шаг 12: Обновление pip внутри окружения
Иногда pip в новом окружении устаревший. Обновите его:
pip install --upgrade pipТипичные ошибки
Ошибка «venv: command not found»: модуль venv не установлен. В Debian/Ubuntu установите пакет
python3-venv:
sudo apt install python3-venvPowerShell блокирует активацию: выполните
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser.Активация не меняет приглашение: проверьте путь к скрипту активации, возможно, вы находитесь не в той папке.
Пакеты устанавливаются глобально: скорее всего, окружение не активировано. Убедитесь, что в приглашении есть
(venv).Случайное добавление venv в Git: добавьте папку в
.gitignore.
FAQ
В чём разница между venv и virtualenv? venv — встроенный модуль, рекомендованный для Python 3. virtualenv — сторонний пакет с более широкими возможностями, но для большинства задач достаточно venv.
Можно ли создать окружение с другой версией Python? Да, если у вас установлено несколько версий. Укажите нужный интерпретатор:
python3.9 -m venv venvКак перенести окружение на другой компьютер? Лучше не копировать папку venv, а создать новое окружение и установить зависимости из requirements.txt.
Нужно ли активировать окружение каждый раз при открытии терминала? Да, активация действует только в текущей сессии. Для автоматизации можно настроить скрипты или использовать инструменты вроде direnv.
Что делать, если pip не работает после активации? Попробуйте переустановить pip:
python -m ensurepip --upgradeИтог
Виртуальные окружения — обязательный инструмент в арсенале Python-разработчика. Они помогают поддерживать чистоту системы, избегать конфликтов и упрощают совместную работу. Следуя этой инструкции, вы легко создадите и настроите venv для любого проекта.
Читайте также
Комментарии
Комментарии доступны только зарегистрированным пользователям. Войти
- Пока нет комментариев. Будьте первым.



