Если у тебя древняя Ubuntu 18.04 и ты решил поставить на неё Django, забудь про глобальную установку через apt. Да, там есть пакет python3-django, но он обычно на пару версий отстаёт от актуального, и потом будешь материться, когда документация и код начнут расходиться с тем, что у тебя стоит.

Правильный путь — виртуальная среда. Виртуалка для Python — это такой песочница-бункер, где можно творить, не боясь снести соседям забор.

1. Проверяем Python и ставим venv

В 18.04 по умолчанию стоит Python 3.6. Проверим:

python3 -V

Дальше ставим venv, чтобы делать виртуальные окружения:

sudo apt install python3-venv

2. Создаём проект и виртуалку

Выбираем папку, где будет жить проект, и создаём директорию:

mkdir my_django_app
cd my_django_app

Там же делаем виртуальную среду:

python3 -m venv venv

Активируем:

source venv/bin/activate

Если в консоли перед курсором появилось (venv), значит, ты в песочнице. Всё, что сейчас ставишь — попадёт сюда, а не в систему.

3. Ставим Django через pip

pip install django

Проверяем:

python -m django --version

4. Создаём проект Django

django-admin startproject mydjangoapp

Дальше структура будет примерно такая:

mydjangoapp/
    manage.py
    mydjangoapp/
        __init__.py
        settings.py
        urls.py
        wsgi.py

manage.py — твой нож, молоток и отвёртка в одном.

5. Миграции и админ

Заходим в папку проекта:

cd mydjangoapp

Делаем миграции (создаём базу):

python manage.py migrate

Создаём админа:

python manage.py createsuperuser

Введёшь логин, почту и пароль.

6. Тестовый сервер

python manage.py runserver

В браузере открываешь http://127.0.0.1:8000 — должна появиться приветственная страница Django.

Админка по адресу: http://127.0.0.1:8000/admin/. Логинишься теми данными, что ввёл для суперпользователя.

Сервер останавливается CTRL+C.

7. Выход из виртуалки

deactivate

Вернулся в обычный шелл — теперь Django живёт в своём мире и не лезет в чужие.

Итог

На Ubuntu 18.04 Django ставь только в виртуалку, чтобы не устраивать себе мини-ад в будущем. Захочешь новый проект на другой версии — просто делаешь новое окружение. Чисто, изолированно, без головняка.