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

Сценарий такой:

  1. Создали проект
  2. Один раз создали .venv
  3. Каждый раз перед работой активируете .venv
  4. Ставите библиотеки внутрь окружения
  5. Запускаете код

Как работать с 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. Для соседних задач пригодятся эти разборы:

Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные

Настройки cookie

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x