Гид по технологиям

Установка Django 1.10 на Ubuntu 16.04 — пошаговое руководство

• 8 min read • DevOps • Обновлено 23 Nov 2025
Установка Django 1.10 на Ubuntu 16.04
Установка 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 3 по умолчанию в Ubuntu

Важно: изменение системного «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())

Проверка версии Django

Когда установка завершена, переходите к шагу создания проекта.

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

Django в виртуальном окружении

Рекомендация: для управляемых зависимостей создавайте 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/.

Страница входа Django admin

Панель Django 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 locales

Pip не найден после установки python3-pip

Проверьте расположение pip3 и создайте симлинк:

which pip3
ln -s /usr/bin/pip3 /usr/bin/pip

Ошибки компиляции при установке пакетов

Убедитесь, что установлены базовые сборочные инструменты:

apt-get install build-essential libssl-dev libffi-dev python3-dev -y

Django-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.
  • Настроить мониторинг и резервное копирование БД.

Мини‑методология разворачивания проекта

  1. Подготовка сервера: обновление пакетов и установка зависимостей.
  2. Создание пользователя для приложения и ограничение прав.
  3. Создание виртуального окружения и установка зависимостей.
  4. Конфигурация Gunicorn/uWSGI и systemd.
  5. Настройка Nginx и HTTPS.
  6. Тестирование 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 и храните секреты вне репозитория.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро