У попередній лекції ми встановили Python та Django на наші робочі машини. Все йде чудово, і ви вже близькі до того, щоб створити свій перший проєкт на Django. Але перш ніж ми підемо далі, потрібно освоїти дещо дуже важливе. Ця штука збереже вам нерви, час і, можливо, вашу дружбу з колегами. Давайте розберемося у віртуальних середовищах і навчимося їх налаштовувати.
Уявіть, що ви готуєте піцу, але у вас на кухні 10 банок томатного соусу. Половина з них прострочена, інша половина призначена для різних рецептів (наприклад, супів або пасти). Спочатку це здається не таким вже й страшним, але потім ви починаєте плутатися, який соус для чого використовувати. Приблизно так само виглядають конфлікти залежностей Python-бібліотек.
Коли ви розробляєте різні проєкти на Python, кожен з них може використовувати різні версії бібліотек або навіть самого Python. Якщо всі ці залежності зберігаються в одному загальному просторі, велика ймовірність конфлікту.
Приклад:
- Проєкт А використовує Django 5.1.
- Проєкт B працює тільки з Django 4.2.
- Встановлення неправильної версії зламає один із проєктів.
Рішення? Віртуальні середовища! Вони ізолюють залежності для кожного проєкту. Кожен проєкт отримує власну кухню з власними інгредієнтами.
Що таке віртуальне оточення?
Віртуальне оточення — це ізольований простір, де зберігаються бібліотеки та залежності твого проєкту. Воно дозволяє тобі:
- Використовувати різні версії бібліотек у різних проєктах.
- Тримати твій глобальний Python охайним і мінімально завантаженим.
- Уникати фраз "ну, на моєму комп'ютері це працює" (або хоча б зменшити кількість таких ситуацій).
Як налаштувати віртуальне середовище?
- Створення віртуального середовища
Python постачається з вбудованим модулем для віртуальних середовищ —
venv. Це стандартний інструмент для створення ізольованих середовищ. Ось як це зробити:- Відкрийте термінал (аналог командного рядка у Windows).
Перейдіть у директорію вашого проєкту. Наприклад:
cd path/to/your/projectЗапустіть команду створення віртуального середовища:
python -m venv venvvenvв кінці — це ім'я папки, де буде зберігатися віртуальне середовище. Ви можете назвати її як завгодно (наприклад,env,.venv), але ім'яvenvстало стандартом.
Після виконання цього кроку в папці проєкту з'явиться директорія venv із такою структурою:
venv/
├── Include/
├── Lib/
├── Scripts/ (або bin/ на Linux/macOS)
└── pyvenv.cfg
Чесно, поки це виглядає, як магія, але не поспішайте: далі буде зрозуміліше.
Дійсно, в інструкції має бути описаний повний порядок дій. Давайте виправимо:
Активуємо віртуальне середовище
Після створення середовища його потрібно активувати.
перед активацією переконайтеся, що ви знаходитеся в папці, де створили віртуальне середовище. Використовуйте команду cd:
# перейдіть у папку проєкту
cd шлях/до/вашого/проєкту
Тепер активуйте середовище:
На Windows:
venv\Scripts\activate
На macOS/Linux:
source venv/bin/activate
# або коротший варіант
. venv/bin/activate
Коли середовище активоване, на початку рядка термінала з'явиться (venv):
(venv) user@machine:~/project$
Цей venv показує, що ви зараз працюєте всередині віртуального середовища. Усі команди встановлення бібліотек pip install будуть застосовуватися тільки до цього середовища.
Часті проблеми:
- Переконайтеся, що ви в потрібній папці:
lsабоdirпокаже папкуvenv - На macOS може знадобитися:
chmod +x venv/bin/activate
Підказка: щоб вийти із середовища, наберіть deactivate
3. Встановлення Django у віртуальному середовищі
Тепер, коли віртуальне середовище активоване, встановимо Django лише для нашого проєкту:
pip install django
Після встановлення виконайте команду:
pip list
Ви побачите список встановлених бібліотек. Там має бути тільки Django та її залежності, наприклад:
Package Version
---------- -------
Django 5.1
pytz 2025.1
sqlparse 0.5.0
Зверніть увагу: якщо ви виконаєте таку ж команду pip list, але поза активним середовищем, то бібліотеки можуть бути відсутніми або відрізнятися. Це і є ізоляція!
4. Деактивація віртуального середовища
Щоб вийти з віртуального середовища (і повернутися до "глобального Python"), просто виконайте команду:
deactivate
Після цього ваш термінал знову стане звичайним, наприклад:
user@machine:~/project$
5. Робота з різними проєктами
Якщо у вас кілька проєктів, створюйте окреме віртуальне середовище для кожного з них. Просто дотримуйтесь того ж процесу:
- Створіть окрему папку для нового проєкту.
- Створіть нове віртуальне середовище.
- Активуйте його та встановіть залежності, потрібні тільки цьому проєкту.
Практичне завдання
Крок 1: Створіть директорію my_django_project
Створіть папку для вашого проєкту:
На Windows/macOS/Linux:
mkdir my_django_project
cd my_django_project
Крок 2: Створіть віртуальне оточення
python -m venv venv
Крок 3: Активуйте віртуальне оточення
На Windows:
venv\Scripts\activate
На macOS/Linux:
source venv/bin/activate
Крок 4: Встановіть Django
pip install django
Крок 5: Переконайтеся, що Django встановлено
pip list
Типові помилки та їх вирішення
Помилка: Команда python не працює
Якщо при виконанні python ви отримуєте помилку "Command not found", спробуйте замість цього:
- На macOS/Linux:
python3. - На Windows: перевірте, чи доданий Python у системні змінні PATH.
Помилка: Python не встановлює бібліотеки у віртуальне середовище
Якщо при встановленні пакетів вони потрапляють у глобальний Python, швидше за все, ви забули активувати віртуальне середовище. Перевірте, що в терміналі відображається назва середовища в дужках (наприклад, venv).
Помилка: venv не створюється
Якщо команда python -m venv видає помилку, можливо, у вас стара версія Python. Переконайтесь, що у вас Python версії 3.6 або вище.
Навіщо все це потрібно?
Віртуальні середовища — це не лише спосіб підтримувати порядок. У реальній розробці проєкти часто вимагають суворих вимог до версій бібліотек для коректної роботи. Наприклад, якщо ти працюєш у команді, тобі потрібно дотримуватися єдиного набору залежностей, щоб у всіх учасників був однаковий результат. Розробники залежать від віртуальних середовищ, щоб не ламати свої проєкти.
Тепер ти готовий до роботи з реальними Python-проєктами, готовими для розробки та масштабування. І пам’ятай: порядок у віртуальних середовищах — це порядок у голові та на роботі.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ