📝 Python

Виртуальные окружения в Python: зачем и как

P
Автор
PyLand Team
📅
Опубликовано
08.05.2026
⏱️
Время чтения
1 мин
👁️
Просмотров
387
🌱
Уровень
Начальный

Когда начинаешь второй Python-проект и ставишь pip install requests — эта библиотека устанавливается глобально, для всей системы. Сначала кажется это удобным. Потом возникают проблемы.

Проблема: конфликт версий

Проект A требует requests==2.28
Проект B требует requests==2.31

Оба проекта на одной машине. Установить обе версии глобально нельзя — только одна.

Именно для этого существуют виртуальные окружения (virtual environments, venv).

Что такое venv

Виртуальное окружение — это изолированная папка с:
- Отдельным интерпретатором Python
- Отдельным pip
- Отдельными пакетами

Каждый проект — своё окружение. Пакеты из одного проекта не видят другой.

project-a/
├── .venv/          ← окружение проекта A (requests 2.28)
└── main.py

project-b/
├── .venv/          ← окружение проекта B (requests 2.31)
└── main.py

Создание и активация

Создать

python -m venv .venv

Точка в имени .venv — соглашение. Папку видно в файловом менеджере только если показывать скрытые файлы.

Активировать

# Mac / Linux:
source .venv/bin/activate

# Windows PowerShell:
.venv\Scripts\Activate.ps1

# Windows cmd:
.venv\Scripts\activate.bat

После активации в терминале появится (.venv) в начале строки — это признак что окружение активно.

Проверить

which python     # должен показать путь внутри .venv (Mac/Linux)
where python     # Windows

Деактивировать

deactivate

Установка пакетов в venv

После активации все команды pip install работают только в этом окружении:

pip install requests python-dotenv

Проверить что установлено:

pip list

requirements.txt — фиксируем версии

Чтобы другой разработчик (или CI/CD) мог воспроизвести то же окружение:

# Записать текущие пакеты с версиями:
pip freeze > requirements.txt

# Установить из файла:
pip install -r requirements.txt

Содержимое requirements.txt:

requests==2.31.0
python-dotenv==1.0.0
certifi==2024.2.2
...

Что добавить в .gitignore

Папку .venv не коммитят — она большая и создаётся из requirements.txt:

.venv/
__pycache__/
*.pyc

Частые ошибки

Установил пакет но программа не находит

Скорее всего venv не активирован. Проверьте (.venv) в терминале.

Ошибка на Windows: «cannot be loaded because running scripts is disabled»

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

VS Code не видит .venv

Ctrl+Shift+P → Python: Select Interpreter → выберите интерпретатор из .venv.

Итог

Одно правило: один проект — одно виртуальное окружение. Это защищает от конфликтов версий и делает проект воспроизводимым на любой машине.

Ваша реакция на статью

💬 Комментарии (0)

🔐 Войдите в систему, чтобы оставить комментарий
🚪 Войти
💭

Комментариев пока нет

Станьте первым, кто поделится мнением об этой статье!

🔗 Похожие

Похожие статьи

Продолжите изучение с этими материалами

📝

if __name__ == "__main__": точка входа Python

Конструкция if name == "main" определяет точку входа Python-программы: она помогает отличить прямой запуск файла...

📅 14.08.2026 👁️ 44
📝

strip() и lower(): подготавливаем пользовательски…

Пользователь может ввести правильное слово с лишними пробелами или буквами другого регистра. Для Python строки...

📅 11.08.2026 👁️ 50
📝

ord(), chr() и циклический сдвиг букв в Python 🔐

Строка состоит из символов, но компьютер хранит каждый символ как числовой код. Python позволяет переходить...

📅 09.08.2026 👁️ 89
🎓 Продолжить обучение

В каких курсах используется этот материал

Перейдите к курсу, чтобы закрепить материал на практике.

Нейросети в коде: 5 AI-проектов на Python с Claude Открыть программу курса API на практике: взаимодействие с любыми сервисами Открыть программу курса