Сайт в активній розробці
Перед початком роботи з Django нам природно необхідно встановити інтерпретатор Python. Детальніше про це можна почитати тут.
Існують різні способи встановлення Django. Розглянемо спосіб, що рекомендується.
Пакетний менеджер pip
Пакети Django розміщуються у центральному репозиторії більшості пакетів Python - Package Index (PyPI). І для встановлення цього репозиторію нам знадобиться пакетний менеджер pip. Менеджер pip дозволяє завантажувати пакети та керувати ними. Зазвичай при установці python також встановлюється менеджер pip.
У цьому випадку ми можемо перевірити версію менеджера, виконавши в командному рядку/терміналі команду pip -V (V - з великої літери):
C:\Users\eugen>pip -V
pip 22.0.4 від C:\Users\eugen\AppData\Local\Programs\Python\Python310\lib\site-packages\pip (python 3.10)
C:\Users\eugen>
Якщо pip не встановлено, ми побачимо помилку типу
"pip" не є внутрішньою чи зовнішньою командою, що виконується програмою або пакетним файлом
В цьому випадку нам потрібно встановити pip. Для цього можна виконати в командному рядку/консолі таку команду:
python -m ensurepip --upgrade
Якщо pip раніше вже було встановлено, можна його оновити за допомогою команди
pip install --upgrade pip
Віртуальне середовище або venv не є невід'ємною частиною розробки Django. Однак її рекомендується використовувати, оскільки вона дозволяє створити безліч віртуальних середовищ Python на одній операційній системі. Завдяки віртуальному середовищу програма може запускатися незалежно від інших програм на Python.
В принципі, можна запускати програми на Django і без віртуального середовища. У цьому випадку всі пакети Django встановлюються глобально. Однак якщо після створення першої програми вийде нова версія Django? Якщо ми захочемо використовувати для другого проекту нову версію Django, то через глобальну інсталяцію пакетів доведеться оновлювати перший проект який використовує стару версію. Це потребує деякої додаткової роботи з оновлення, оскільки не завжди дотримується зворотна сумісність між пакетами. Якщо ми вирішимо використовувати для другого проекту стару версію, то ми втратимо потенційні переваги нової версії. І використання віртуального середовища якраз дозволяє розмежувати пакети для кожного проекту.
Для роботи з віртуальним середовищем у python застосовується вбудований модуль venv
Отже, створимо віруальне середовище. Спочатку визначимо каталог проектів django. Наприклад, нехай це буде каталог C:\django.
Насамперед перейдемо в терміналі/командному рядку до цього каталогу за допомогою команди cd.
cd C:\django
Потім для створення віртуального середовища виконаємо таку команду:
python -m venv .venv
Модулю venv передається назва середовища, яке в даному випадку буде називатися ". Venv". Для найменування віртуальних середовищ немає певних умовностей.
Приклад консольного виведення:
C:\Users\eugen>cd C:\django Перехід до папки майбутнього віртуального середовища
C:\django>python -m venv .venv Створення віртуального середовища
C:\django>
Після цього в поточній папці (C: django) буде створено підкаталог ". Venv".
Для використання віртуальне середовище необхідно активувати. І щоразу, коли ми будемо працювати з проектом Django, пов'язане з ним віртуальне середовище треба активувати. Наприклад, активуємо вище створене середовище, яке знаходиться в поточному каталозі в папці .venv. Процес активації трохи відрізняється залежно від операційної системи та від того, які інструменти застосовуються. Так, Windows можна використовувати командний рядок і PowerShell, але між ними є відмінності.
Якщо наша ОС – Windows, то у папці .venv/Scripts/ ми можемо знайти файл activate.bat, який активує віртуальне середовище. Так, у Windows активація віртуального середовища в командному рядку буде виглядати так:
venv\Scripts\activate.bat
Також при роботі на Windows у папці .venv/Scripts/ ми можемо знайти файл activate.ps1, який також активує віртуальне середовище, але застосовується лише у PowerShell. Але при роботі з PowerShell слід враховувати, що за умовчанням у цій оболонці заборонено використовувати скрипти.
Тому перед активацією середовища необхідно встановити дозволи для користувача. Тому для активації віртуального середовища PowerShell необхідно виконати дві наступні команди:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
.venv\Scripts\Activate.ps1
Для Linux та MacOS активація буде здійснюватися за допомогою наступної команди:
source .venv/bin/activate
Далі я наводитиму приклади на основі командного рядка Windows, проте всі інші приклади не залежатимуть від того, що використовується - PowerShell або командний рядок, Windows, Linux або MacOS.
У будь-якому випадку після успішної активації зліва від поточного каталогу ми побачимо у дужках назву віртуального середовища:
C:\Users\eugen>cd C:\django
C:\django>python -m venv .venv
C:\django>.venv\Scripts\activate.bat Активація віртуального середовища
(.venv) C:\django> Віртуальне середовище активоване
Після активації віртуального середовища для встановлення Django виконаємо в консолі наступну команду
python -m pip install Django
Вона встановлює останню версію Django.
(.venv) C:\django>python -m pip install Django
Collecting Django
Using cached Django-4.1-py3-none-any.whl (8.1 MB)
Collecting sqlparse>=0.2.2
Using cached sqlparse-0.4.2-py3-none-any.whl (42 kB)
Collecting tzdata
Using cached tzdata-2022.1-py2.py3-none-any.whl (339 kB)
Collecting asgiref<4,>=3.5.2
Using cached asgiref-3.5.2-py3-none-any.whl (22 kB)
Installing collected packages: tzdata, sqlparse, asgiref, Django
Successfully installed Django-4.1 asgiref-3.5.2 sqlparse-0.4.2 tzdata-2022.1
(.venv) C:\django>
Якщо нам цікавить конкретна версія Django, ми можемо вказати її при установці:
python -m pip install django~=4.0.0
Щоб переконатися, що все встановлено правильно, ми можемо перейти до python інтерпретатора. Для цього введемо в терміналі команду
python
І потім виконаємо послідовно такі дві інструкції:
>>> імпорт django
>>> print ( django . get_version ( ) )
Вивід у моєму випадку:
(.venv) C:\django>python
Python 3.10.1 (tags/v3.10.1:2cd268a, Dec 6 2021, 19:10:37) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> print(django.get_version())
4.1
>>>
Після закінчення роботи з віртуальним середовищем ми можемо його деактивувати за допомогою команди:
deactivate