Python
Как создать виртуальное окружение Python: venv, активация и проверка
Виртуальное окружение Python нужно, чтобы библиотеки одного проекта не смешивались с библиотеками другого проекта. Для новичка это звучит как лишняя сложность, но на практике venv спасает от очень неприятной ситуации: вчера один проект работал, сегодня вы поставили новую библиотеку для другого проекта, и первый проект внезапно сломался
Самый простой вариант:
python -m venv .venv
После этой команды в папке проекта появится папка .venv. Внутри нее будет отдельный Python и место для библиотек именно этого проекта
Быстрый ответ для Windows
Откройте папку проекта в терминале и выполните:
py -m venv .venv
.venv\Scripts\activate
python -m pip install requests
python -c "import requests; print(requests.__version__)"
Если после активации в начале строки терминала появилось (.venv), окружение активно
Быстрый ответ для macOS и Linux
python3 -m venv .venv
source .venv/bin/activate
python -m pip install requests
python -c "import requests; print(requests.__version__)"
После активации команда python обычно будет указывать на Python внутри .venv
Как создать проект с нуля
Создайте папку проекта:
mkdir python-venv-demo
cd python-venv-demo
Создайте виртуальное окружение:
python -m venv .venv
Если на Windows команда python не работает, используйте:
py -m venv .venv
Если на macOS или Linux команда python не работает, используйте:
python3 -m venv .venv
Как активировать виртуальное окружение
.venv\Scripts\Activate.ps1
.venv\Scripts\activate.bat
source .venv/bin/activate
Если все получилось, в терминале появится префикс (.venv)
Как проверить, что окружение действительно активно
Выполните:
python -c "import sys; print(sys.executable)"
Путь должен вести внутрь папки .venv
Пример для Windows:
C:\projects\python-venv-demo\.venv\Scripts\python.exe
Пример для macOS:
/Users/name/python-venv-demo/.venv/bin/python
Если путь ведет не в .venv, окружение не активировано или выбран другой интерпретатор
Как установить библиотеку внутрь окружения
После активации выполните:
python -m pip install requests
Создайте файл main.py:
import requests
response = requests.get("https://www.python.org/", timeout=10)
print("Статус:", response.status_code)
Запустите:
python main.py
Если видите статус 200, библиотека установлена и импорт работает
Как выйти из виртуального окружения
deactivate
После этого префикс (.venv) исчезнет
Нужно ли создавать виртуальное окружение каждый раз
Не каждый запуск, а каждый проект. Один проект обычно имеет одну папку .venv
Сценарий такой:
- Создали проект
- Один раз создали
.venv - Каждый раз перед работой активируете
.venv - Ставите библиотеки внутрь окружения
- Запускаете код
Как работать с venv в VS Code
Откройте папку проекта в VS Code
Создайте .venv через терминал VS Code
После этого откройте Command Palette: Ctrl + Shift + P на Windows или Cmd + Shift + P на macOS
Найдите Python: Select Interpreter
Выберите интерпретатор из папки .venv
После выбора VS Code будет запускать код в нужном окружении
Что добавлять в Git, а что не добавлять
Папку .venv обычно не добавляют в Git. Ее можно удалить и создать заново
В Git добавляют файл requirements.txt:
python -m pip freeze > requirements.txt
Потом окружение можно восстановить так:
python -m pip install -r requirements.txt
Частые ошибки
На Windows PowerShell пишет, что запуск скриптов запрещен
Это ограничение Execution Policy. Для текущего пользователя часто помогает команда:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
После этого откройте PowerShell заново и повторите активацию
Если не хотите менять политику, используйте Command Prompt и команду:
.venv\Scripts\activate.bat
python -m venv не работает на Linux
В Ubuntu и Debian может не хватать пакета python3-venv
sudo apt update
sudo apt install python3-venv
После этого повторите:
python3 -m venv .venv
Библиотека установлена, но import не работает
Скорее всего, пакет поставили не в то окружение. Проверьте путь к Python:
python -c "import sys; print(sys.executable)"
Путь должен вести внутрь .venv
Что почитать дальше по Python
Если нужен общий маршрут по теме, откройте рубрику Python. Для соседних задач пригодятся эти разборы:
- Как удалить библиотеки из Python: pip uninstall, venv и проверка зависимостей
- Как установить библиотеку в Python через pip и виртуальное окружение
- Как обновить Python: Windows, macOS, Linux и проверка версии
- Как сложить числа в списке Python: sum, цикл и проверка типов