JavaRush /Курси /Модуль 3: Django /Налаштування віртуального середовища

Налаштування віртуального середовища

Модуль 3: Django
Рівень 1 , Лекція 3
Відкрита

У попередній лекції ми встановили Python та Django на наші робочі машини. Все йде чудово, і ви вже близькі до того, щоб створити свій перший проєкт на Django. Але перш ніж ми підемо далі, потрібно освоїти дещо дуже важливе. Ця штука збереже вам нерви, час і, можливо, вашу дружбу з колегами. Давайте розберемося у віртуальних середовищах і навчимося їх налаштовувати.

Уявіть, що ви готуєте піцу, але у вас на кухні 10 банок томатного соусу. Половина з них прострочена, інша половина призначена для різних рецептів (наприклад, супів або пасти). Спочатку це здається не таким вже й страшним, але потім ви починаєте плутатися, який соус для чого використовувати. Приблизно так само виглядають конфлікти залежностей Python-бібліотек.

Коли ви розробляєте різні проєкти на Python, кожен з них може використовувати різні версії бібліотек або навіть самого Python. Якщо всі ці залежності зберігаються в одному загальному просторі, велика ймовірність конфлікту.

Приклад:

  • Проєкт А використовує Django 5.1.
  • Проєкт B працює тільки з Django 4.2.
  • Встановлення неправильної версії зламає один із проєктів.

Рішення? Віртуальні середовища! Вони ізолюють залежності для кожного проєкту. Кожен проєкт отримує власну кухню з власними інгредієнтами.

Що таке віртуальне оточення?

Віртуальне оточення — це ізольований простір, де зберігаються бібліотеки та залежності твого проєкту. Воно дозволяє тобі:

  1. Використовувати різні версії бібліотек у різних проєктах.
  2. Тримати твій глобальний Python охайним і мінімально завантаженим.
  3. Уникати фраз "ну, на моєму комп'ютері це працює" (або хоча б зменшити кількість таких ситуацій).

Як налаштувати віртуальне середовище?

  1. Створення віртуального середовища

    Python постачається з вбудованим модулем для віртуальних середовищ — venv. Це стандартний інструмент для створення ізольованих середовищ. Ось як це зробити:

    • Відкрийте термінал (аналог командного рядка у Windows).
    • Перейдіть у директорію вашого проєкту. Наприклад:

      cd path/to/your/project
    • Запустіть команду створення віртуального середовища:

      python -m venv venv
      • venv в кінці — це ім'я папки, де буде зберігатися віртуальне середовище. Ви можете назвати її як завгодно (наприклад, 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. Створіть окрему папку для нового проєкту.
    2. Створіть нове віртуальне середовище.
    3. Активуйте його та встановіть залежності, потрібні тільки цьому проєкту.

    Практичне завдання

    Крок 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-проєктами, готовими для розробки та масштабування. І пам’ятай: порядок у віртуальних середовищах — це порядок у голові та на роботі.

    Коментарі
    ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
    ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ