На прошлом уровне мы уже успели познакомиться с концепцией виртуальных окружений и разобрались, почему они так важны в Python-разработке. Помните нашу аналогию с кухней, где каждый проект получает свой набор "ингредиентов"? Сегодня мы пойдём дальше и научимся использовать эти "кухни" на практике, особенно в контексте Django-разработки.
Краткое напоминание
Давайте быстро освежим ключевые моменты:
- Виртуальное окружение — это изолированное пространство для проекта
- Оно позволяет избежать конфликтов между версиями библиотек
- Создаётся командой
python -m venv venv - Активируется через
source venv/bin/activate(Linux/macOS) илиvenv\Scripts\activate(Windows)
Если эти концепции кажутся не совсем понятными, рекомендую вернуться к материалам четвёртой лекции. А сейчас двигаемся дальше и разбираем, как использовать виртуальные окружения в реальной разработке.
Структура виртуального окружения — заглядываем под капот
Когда мы создаём виртуальное окружение командой python -m venv venv, Python создаёт для нас целую структуру папок и файлов. Давайте разберёмся, что там внутри — это поможет лучше понять, как всё работает.
После создания окружения вы увидите примерно такую структуру:
venv/
├── Include/
├── Lib/
│ └── site-packages/
├── Scripts/ (или bin/ на Linux/macOS)
└── pyvenv.cfg
Выглядит загадочно? Давайте разберём каждый элемент:
Папка site-packages — ваш книжный шкаф
Это самая важная папка в виртуальном окружении. Именно сюда будут устанавливаться все библиотеки, включая Django. Можете считать её книжным шкафом, где каждая книга — это отдельная библиотека. Когда мы на следующей лекции будем устанавливать Django через pip, он появится именно здесь.
Scripts (или bin) — ваши инструменты
Здесь хранятся исполняемые файлы, включая сам Python и различные утилиты. Помните команду активации окружения? Она находится именно в этой папке. На Windows это Scripts, а на Linux и macOS — bin, но суть та же.
pyvenv.cfg — файл настроек
Этот файл содержит базовые настройки вашего окружения, включая путь к Python и версию. Обычно вам не придётся его редактировать вручную, но знать о его существовании полезно.
Теперь, когда мы знаем структуру окружения, становится понятнее, почему активация так важна — она настраивает Python на использование именно этих папок вместо системных. В следующем разделе мы рассмотрим, как это знание пригодится нам при работе с Django-проектами.
Продвинутые сценарии использования
Теперь, когда мы разобрались с базовой структурой, давайте посмотрим на типичные сценарии, с которыми вы столкнётесь при разработке Django-проектов.
Разные версии Python для разных проектов
Представьте, что вы работаете над двумя проектами:
- Старый корпоративный сайт на Django 2.2 (требует Python 3.7)
- Новый стартап на Django 5.0 (нужен Python 3.10 или выше)
Как быть? Виртуальные окружения спешат на помощь! При создании окружения вы можете указать, какую версию Python использовать:
python3.7 -m venv legacy_project
python3.10 -m venv new_project
Тестовое и продакшн окружение
В реальной разработке часто нужны разные наборы библиотек для:
- Разработки (с инструментами отладки)
- Тестирования (с пакетами для тестов)
- Продакшена (только необходимый минимум)
Решение? Создаём разные окружения:
# Для разработки
python -m venv venv_dev
# Для тестирования
python -m venv venv_test
# Для продакшена
python -m venv venv_prod
Каждое окружение будет иметь свой набор зависимостей, который мы научимся настраивать в следующей лекции про pip и requirements.txt.
Отладка проблем с окружением
Иногда что-то идёт не так. Вот частые проблемы и их решения:
"Не видит Django после установки?"
- Проверьте, активировано ли окружение (должен быть префикс в командной строке)
- Посмотрите содержимое site-packages
"Конфликты версий?"
- Проверьте
pyvenv.cfg— та ли версия Python используется - Создайте новое окружение с нужной версией
В следующей лекции мы подробно разберём, как устанавливать и управлять пакетами в этих окружениях с помощью pip. А пока — попрактикуйтесь в создании разных окружений для разных задач!
Интеграция с IDE — делаем работу удобнее
Хотя мы можем управлять виртуальными окружениями через командную строку, современные IDE (редакторы кода) делают эту работу гораздо приятнее. Давайте посмотрим, как настроить популярные редакторы для работы с Django-проектами.
PyCharm — всё из коробки
PyCharm особенно хорош для Django-разработки — он сразу понимает виртуальные окружения:
Создаём новый проект:
- PyCharm предложит создать новое виртуальное окружение
- Сразу покажет, какие пакеты установлены
- Поможет установить Django
Для существующего проекта:
- Откройте папку проекта
File → Settings → Project → Python Interpreter- Выберите существующее окружение или создайте новое
VSCode — настраиваем по своему вкусу
Visual Studio Code тоже отлично работает с Python, но требует небольшой настройки:
- Установите расширение Python
- Откройте папку проекта
- Нажмите
Ctrl+Shift+P(илиCmd+Shift+Pна macOS) - Выберите "Python: Select Interpreter"
- Укажите путь к Python из вашего виртуального окружения
После этого VSCode будет:
- Подсвечивать доступные пакеты
- Предлагать автодополнение кода Django
- Показывать ошибки в реальном времени
Подсказки для удобной работы
Автоактивация окружения
// .vscode/settings.json { "python.terminal.activateEnvironment": true }Интеграция с терминалом
- IDE автоматически активирует окружение в встроенном терминале
- Вы сразу видите, какие пакеты доступны
- Команды Django (
python manage.py) работают из коробки
Теперь ваша среда разработки полностью готова к работе с Django! На следующей лекции мы начнём установку всех необходимых пакетов через pip и создадим наш первый Django-проект в правильно настроенном окружении.
Подготовка к установке Django — что дальше?
Теперь, когда у нас есть настроенное виртуальное окружение и удобная среда разработки, пора готовиться к следующему важному шагу — установке Django и других необходимых пакетов.
Небольшое предварительное задание
Чтобы быть готовыми к следующей лекции, проверьте:
Активировано ли ваше виртуальное окружение:
# Должны увидеть (venv) в начале строки (venv) user@computer:~/project$Работает ли pip:
pip --versionСоздайте тестовый проект:
mkdir django_test cd django_test python -m venv venv
Если что-то не работает — вернитесь к материалам этой лекции. Все проблемы с виртуальным окружением лучше решить сейчас, чтобы на следующем занятии сосредоточиться на установке и настройке Django.
От теории к практике
В следующей лекции вы увидите, как все эти подготовительные шаги с виртуальным окружением помогают организовать чистую и удобную среду разработки.
Помните наше сравнение с кухней? Теперь у вас есть своя, чистая и организованная кухня. Осталось только закупить нужные ингредиенты (пакеты) и начать готовить (разрабатывать). До встречи на следующей лекции!
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ