Как создать виртуальное окружение Python venv: пошаговое руководство
Полное руководство по venv: от установки до управления зависимостями
Введение
Виртуальное окружение — это изолированная среда, в которой можно устанавливать пакеты Python, не влияя на глобальную установку. Это особенно важно при работе над несколькими проектами, каждый из которых требует разных версий библиотек. Модуль venv входит в стандартную библиотеку Python 3.3+ и является рекомендуемым способом создания таких окружений.
В этом руководстве вы научитесь создавать, активировать и использовать виртуальные окружения в Windows, macOS и Linux. Мы также рассмотрим типичные ошибки и ответим на частые вопросы.
Требования
Python 3.3 или новее (рекомендуется Python 3.6+). Проверить версию:
python --versionилиpython3 --version.Доступ к командной строке (Terminal в macOS/Linux, Command Prompt или PowerShell в Windows).
Базовые навыки работы с командной строкой.
Шаг 1: Проверка установки Python
Откройте терминал и выполните:
python --versionили
python3 --versionВы должны увидеть версию Python, например Python 3.10.4. Если команда не найдена, установите Python с официального сайта или через менеджер пакетов вашей ОС.
Шаг 2: Перейдите в папку проекта
Используйте cd, чтобы перейти в директорию, где будет храниться ваш проект. Например:
cd /path/to/your/projectВ Windows:
cd C:\Users\YourName\projectШаг 3: Создайте виртуальное окружение
Выполните команду:
python -m venv venvили для систем, где Python вызывается как python3:
python3 -m venv venvЗдесь venv — имя создаваемой папки (можно выбрать любое). Команда создаст директорию с копией интерпретатора Python и вспомогательными файлами.
Совет: не называйте окружение venv внутри другой папки venv, чтобы избежать путаницы. Лучше использовать осмысленные имена, например env или .venv.
Шаг 4: Активируйте виртуальное окружение
Активация зависит от операционной системы и оболочки.
Windows (cmd)
venv\Scripts\activate.batWindows (PowerShell)
.\venv\Scripts\Activate.ps1Если PowerShell блокирует выполнение скриптов,可能需要 изменить политику выполнения: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser.
macOS и Linux (bash/zsh)
source venv/bin/activateПосле активации в приглашении командной строки появится имя окружения, например (venv) $.
Шаг 5: Проверьте активацию
Убедитесь, что используется правильный интерпретатор:
which python # macOS/Linux
where python # WindowsПуть должен указывать на папку вашего окружения (например, venv/bin/python). Также можно проверить версию Python и список установленных пакетов:
python --version
pip listШаг 6: Установите пакеты
Теперь все пакеты, устанавливаемые через pip, будут попадать в изолированное окружение. Например:
pip install requestsЧтобы установить конкретную версию: pip install requests==2.28.1.
Шаг 7: Зафиксируйте зависимости
Создайте файл requirements.txt со списком пакетов и их версий:
pip freeze > requirements.txtЭтот файл можно использовать для развёртывания проекта на другой машине:
pip install -r requirements.txtШаг 8: Деактивируйте окружение
Когда закончите работу, выполните:
deactivateПриглашение вернётся к обычному виду.
Шаг 9: Удаление виртуального окружения
Просто удалите папку с окружением. Например:
rm -rf venv # macOS/LinuxВ Windows:
rmdir /s venvШаг 10: Использование с IDE
Современные IDE (PyCharm, VS Code) автоматически обнаруживают виртуальные окружения. В VS Code нажмите Ctrl+Shift+P и выберите Python: Select Interpreter, затем укажите путь к venv/bin/python (или venv\Scripts\python.exe в Windows). В PyCharm настройте интерпретатор в File > Settings > Project > Python Interpreter.
Типичные ошибки
`python: command not found` — Python не установлен или не добавлен в PATH. Установите Python и отметьте опцию "Add Python to PATH" при установке в Windows.
`venv: command not found` — модуль venv не установлен. В Debian/Ubuntu установите пакет
python3-venv:sudo apt install python3-venv.Ошибка при активации в PowerShell — политика выполнения скриптов. Выполните
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser.Пакеты устанавливаются глобально — возможно, вы не активировали окружение. Проверьте приглашение командной строки.
Конфликт версий Python — используйте явное указание интерпретатора:
python3.9 -m venv venv.
FAQ
Чем отличается venv от virtualenv?
venv — стандартный модуль Python 3.3+, не требует установки дополнительных пакетов. virtualenv — сторонняя библиотека с расширенными возможностями (например, поддержка старых версий Python). Для большинства задач достаточно venv.
Можно ли использовать venv с Python 2?
Нет, для Python 2 используйте virtualenv.
Как обновить pip внутри окружения?
Активируйте окружение и выполните pip install --upgrade pip.
Где хранить виртуальное окружение?
Обычно папку venv создают в корне проекта. Не добавляйте её в систему контроля версий (добавьте в .gitignore).
Можно ли перемещать виртуальное окружение?
Не рекомендуется, так как пути к интерпретатору и пакетам жёстко прописаны. Лучше создать новое окружение и установить зависимости заново.
Итог
Виртуальное окружение venv — простой и надёжный способ изолировать зависимости Python-проектов. Следуя шагам, вы сможете создать окружение, активировать его, устанавливать пакеты и управлять ими. Это базовый навык, который пригодится любому Python-разработчику.
Читайте также
Комментарии
Комментарии доступны только зарегистрированным пользователям. Войти
- Пока нет комментариев. Будьте первым.




