Установка Django 1.10 на Ubuntu 16.04 — пошаговое руководство
Для кого это руководство
- Разработчики, желающие быстро поднять среду для разработки на Ubuntu 16.04.
- Системные администраторы, которым нужно установить Django на сервере.
- Новички, изучающие процесс установки и базовую настройку проекта Django.
Краткое определение
Django — веб‑фреймворк на Python. Следует принципам MVC (Model-View-Controller), помогает быстро разрабатывать безопасные веб‑приложения и содержит готовую административную панель.
Основные варианты установки
- Установка глобально через pip (подойдёт для тестовых серверов или контейнеров).
- Установка в изолированном виртуальном окружении virtualenv (рекомендовано для разработки и продакшн).
- Установка из репозитория Git для работы с девелоперской версией или правками в исходниках.
Предварительные требования
- Ubuntu 16.04 — 64‑бит.
- Права root или sudo.
- Подключение к интернету для загрузки пакетов.
- Базовые знания работы с терминалом и командами apt, pip, virtualenv, git.
Шаг 1 — Настройка Python 3 как системного Python
По умолчанию в Ubuntu 16.04 может быть установлен Python 2.7 и Python 3.x. Для удобства и совместимости с современными пакетами рекомендуется использовать Python 3 как «python» в командной строке.
Проверьте текущую версию Python:
pythonОжидаемый результат в системе с Python 2.7:
Python 2.7.12 (default, Jul 1 2016, 15:12:24)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>Чтобы переназначить системный «python» на Python 3, используйте update‑alternatives. Сначала удалим ранее зарегистрированный путь (если он есть), затем добавим путь к python3:
update-alternatives --remove python /usr/bin/python2
update-alternatives --install /usr/bin/python python /usr/bin/python3 1Проверьте снова:
pythonОжидаемый вывод при успешной смене:
Python 3.5.2 (default, Jul 5 2016, 12:43:10)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Важно: изменение системного «python» на сервере может сломать скрипты, зависящие от Python 2. Выполняйте на контролируемых серверах или в контейнерах.
Шаг 2 — Установка Django: три варианта
Выберите один из вариантов ниже: 2.1, 2.2 или 2.3. Не устанавливайте одновременно все три в одной и той же системе, если цель — чистая тестовая среда.
2.1. Установка Django через pip
Pip — менеджер пакетов Python, который взаимодействует с репозиторием PyPI.
Установите pip для Python 3 из репозиториев Ubuntu:
apt-get update
apt-get install python3-pip -yПосле установки появится бинарник pip3. Для удобства можно сделать симлинк pip -> pip3:
which pip3
ln -s /usr/bin/pip3 /usr/bin/pipПроверьте pip:
pip -VУстановите Django 1.10:
pip install django==1.10Примечание: при указании “django==1.10” будет установлена именно эта версия. Чтобы установить другую версию, поменяйте число.
Если возникнут ошибки, связанные с локалью, выполните:
export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8
dpkg-reconfigure localesПроверьте версию Django:
django-admin --versionИли внутри Python:
python
import django
print(django.get_version())
Когда установка завершена, переходите к шагу создания проекта.
2.2. Установка Django в virtualenv
Virtualenv создаёт изолированное окружение Python. Это лучший вариант для разработки и для разделения зависимостей между проектами.
Установите virtualenv (в системе или глобально через pip):
pip install virtualenvСоздайте виртуальное окружение с использованием python3:
virtualenv --python=python3 mynewenvПоявится директория mynewenv с подкаталогами bin, include, lib. Активируйте окружение:
source mynewenv/bin/activateЕсли команда source недоступна:
. mynewenv/bin/activateДля выхода используйте:
deactivateВнутри окружения pip уже доступен. Проверьте:
pip -VУстановите Django:
pip install django==1.10Проверьте установку:
django-admin --version
Рекомендация: для управляемых зависимостей создавайте requirements.txt и фиксируйте версии.
2.3. Установка Django из Git репозитория
Этот способ полезен, если вы хотите работать с девелоперской веткой Django или вносить изменения в исходники.
Убедитесь, что git установлен:
apt-get install git -yСоздайте виртуальное окружение и активируйте его (рекомендуется всё же использовать изоляцию даже при установке из исходников):
virtualenv --python=python3 django-git
source django-git/bin/activateКлонируйте репозиторий Django и установите пакет в editable режиме:
cd django-git
git clone git://github.com/django/django django-dev
pip install -e django-dev/Флаг -e устанавливает пакет в режиме «editable» — пакет будет ссылаться на локальную копию кода.
Проверка версии может показать dev‑версию:
django-admin --version
1.11.dev20160831163130Это нормальный вывод для ветки разработчика.
Шаг 3 — Создание первого проекта Django
В этом шаге продемонстрируем создание проекта внутри виртуального окружения.
Создайте окружение для проекта и активируйте:
pip install virtualenv
virtualenv --python=python3 firstdjango
cd firstdjango/
source bin/activate
pip install django==1.10Создайте проект myblog:
django-admin startproject myblogПосмотрите структуру:
ll myblog
-rwxr-xr-x 1 root root 249 Sep 06 09:01 manage.py*
drwxr-xr-x 2 root root 4096 Sep 06 09:01 myblog/Запустите встроенный сервер разработки:
cd myblog/
python manage.py runserverПо умолчанию сервер слушает 127.0.0.1:8000. Чтобы слушать на IP сервера (например 192.168.1.9), укажите IP и порт:
python manage.py runserver 192.168.1.9:8000Откройте в браузере 192.168.1.9:8000 и увидите стартовую страницу Django.
Пример строки в логах при обращении:
[31/Aug/2016 17:04:40] "GET / HTTP/1.1" 200 1767Подготовьте базу данных и создайте суперпользователя для админки:
python manage.py migrate
python manage.py createsuperuser
# Следуйте подсказкам: Username, Email, PasswordЗапустите сервер и войдите в админку по адресу 192.168.1.9:8000/admin/.


Проверка и отладка: распространённые ошибки и решения
Проблемы с локалью
Симптом: ошибки при установке пакетов, связанные с кодировкой. Решение: выполнить экспорт переменных локали и перегенерацию:
export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8
dpkg-reconfigure localesPip не найден после установки python3-pip
Проверьте расположение pip3 и создайте симлинк:
which pip3
ln -s /usr/bin/pip3 /usr/bin/pipОшибки компиляции при установке пакетов
Убедитесь, что установлены базовые сборочные инструменты:
apt-get install build-essential libssl-dev libffi-dev python3-dev -yDjango-admin не найден
Если django установился в виртуальное окружение, убедитесь, что окружение активировано. Если установлен глобально — проверьте PATH.
which django-adminКонфликты зависимостей
Решение: используйте виртуальные окружения или инструменты вроде pipenv/poetry для управления зависимостями.
Безопасность и готовность к продакшну
- Встроенный сервер runserver не предназначен для продакшна. Используйте WSGI‑серверы (Gunicorn, uWSGI) и обратные прокси (Nginx).
- Храните секретный ключ Django в переменных окружения, не в коде.
- Ограничьте DEBUG = False в production.
- Настройте ALLOWED_HOSTS.
- Настройте HTTPS и HSTS на уровне сервера/прокси.
- Регулярно обновляйте зависимости и следите за уязвимостями.
Альтернативные подходы и инструменты
- pyenv для управления несколькими версиями Python на одной машине.
- pipenv или poetry как современные инструменты для управления виртуальными окружениями и зависимостями.
- Conda для окружений с бинарными зависимостями (научные пакеты).
Краткое сравнение:
- virtualenv: простой, широко используемый.
- pyenv + virtualenv: удобно для множественных версий Python.
- pipenv/poetry: удобны для reproducible builds и lock‑файлов.
Рекомендации по миграции и совместимости
- Django 1.10 — старая ветка. Для новых проектов рассматривайте современные версии Django.
- Перед обновлением на новую мажорную версию изучите release notes и обратные несовместимости.
- Создавайте тестовый стенд для проверки миграций и поведения приложений.
Чек‑листы по ролям
Для разработчика
- Создать виртуальное окружение.
- Зафиксировать версии в requirements.txt или Pipfile.lock.
- Написать базовые unit‑тесты и запустить их.
- Настроить файл .env для секретов в локальной разработке.
Для системного администратора
- Установить системные зависимости (build‑tools, libssl, python3-dev).
- Настроить сервис systemd для Gunicorn/uWSGI.
- Настроить Nginx как обратный прокси и TLS.
- Настроить мониторинг и резервное копирование БД.
Мини‑методология разворачивания проекта
- Подготовка сервера: обновление пакетов и установка зависимостей.
- Создание пользователя для приложения и ограничение прав.
- Создание виртуального окружения и установка зависимостей.
- Конфигурация Gunicorn/uWSGI и systemd.
- Настройка Nginx и HTTPS.
- Тестирование end‑to‑end и включение мониторинга.
Тесты и критерии приёмки
- Приложение отвечает 200 OK на корневой URL при отключённом DEBUG.
- Админка доступна и требует аутентификации.
- Миграции применяются без ошибок.
- Логи ошибок не содержат трейсбеков при типичных сценариях.
Частые сценарии отказа и откат
- Если обновление зависимостей привело к падению: откатить requirements.txt и восстановить виртуальное окружение.
- Если миграции изменили схему БД и сломали приложение: восстановить данные из бэкапа, откатить миграции.
Краткая таблица совместимости (ориентировочно)
- Ubuntu 16.04: совместим с Python 3.5 и Django 1.10.
- Для современных версий Django рекомендуется использовать более свежие дистрибутивы и Python 3.8+.
Снижение рисков и рекомендации по безопасности
- Не использовать debug‑server в продакшне.
- Хранить секреты вне репозитория.
- Обновлять зависимости и систему безопасности.
- Настроить брандмауэр и ограничить доступ к административному интерфейсу.
Краткая галерея пограничных случаев
- Установка на минимальные контейнеры: потребуются дополнительные пакеты для сборки расширений.
- Работа с внешней БД (Postgres/MySQL): требуются соответствующие клиентские библиотеки.
- Если приложение использует асинхронные возможности, Django 1.10 может не поддерживать современные async‑API.
1‑строчный глоссарий
- virtualenv: средство изоляции окружений Python.
- pip: менеджер пакетов Python.
- django-admin: утилита управления проектами Django.
- migrate: применение схемы БД по моделям Django.
Шаблон requirements.txt (пример)
Django==1.10
gunicorn==19.7.1
psycopg2-binary==2.7.4
# Добавьте остальные зависимости вашего проектаСоциальные подсказки и краткое объявление
OG title suggestion: Установка Django 1.10 на Ubuntu 16.04 — быстрое руководство OG description suggestion: Пошаговая инструкция: pip, virtualenv, установка из Git, запуск проекта, чек‑листы и советы по безопасности.
Краткое объявление (100–200 слов): Установите Django 1.10 на сервер Ubuntu 16.04 за несколько шагов. В руководстве рассмотрены три варианта установки: напрямую через pip, внутри виртуального окружения virtualenv и из исходного кода Git. Показано, как переключить системный python на Python 3, как создать первый проект myblog, как запустить сервер разработки и настроить админку. Также включены рекомендации по безопасности, отладке, роли‑ориентированные чек‑листы и шаблон requirements.txt. Подойдёт как для начинающих, так и для инженеров, разворачивающих тестовые среды.
Заключение
Django — мощный фреймворк для быстрой разработки веб‑приложений. Выбор способа установки зависит от сценария: для разработки и продакшн предпочтительно использовать виртуальные окружения; для правок в исходниках — установка из Git. После установки создайте проект, примените миграции и настройте админку. Для продакшна не забудьте про WSGI‑сервер, обратный прокси и защиту секретов.
Важно: если вы планируете долгосрочный продакшн‑проект, рассмотрите использование более свежих, поддерживаемых версий Django и Python.
Итоговое резюме
- Установить Django можно тремя основными способами.
- Virtualenv — рекомендуемый подход для изоляции зависимостей.
- Для продакшна используйте Gunicorn/uWSGI + Nginx и храните секреты вне репозитория.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента