Как установить Django

Этот документ призван проинструктировать вас о том, как получить и запустить Django.

Установка Python

Изначально написанный на Python, Web-фреймворк Django требует установки самого Python. Подойдет Python 2.6, 2.7, 3.2 или 3.3.

Загрузите Python с официального сайта python.org. Если вы используете Linux или Mac OS X, вы можете обнаружить, что Python уже установлен в вашей операционной системе.

Django on Jython

Если вы используете Jython (реализация языка Python на языке Java), вам необходимо пройти несколько дополнительных шагов. См. Запускаем Django на Jython для получения более подробной информации.

Python on Windows

При установке на Windows, вам может понадобиться настроить системную переменную окружения PATH, чтобы указать путь к исполняемому файлу Python и дополнительным скриптам. К примеру, если вы установили Python в C:\Python27\, добавьте следующий путь в PATH:

C:\Python27\;C:\Python27\Scripts;

Установка Apache и mod_wsgi

Если вы просто хотите поэкспериментировать с Django, пропустите этот раздел и перейдите к следующему; Django включает в себя легковесный web-сервер, предназначенный для тестирования, поэтому вы вправе не устанавливать Apache до тех пор, пока ваш проект не будет готов для развёртывания на “боевом”-сервере.

Если вам нужно использовать Django на публичном, производственном сайте, используйте Apache и mod_wsgi ; mod_wsgi может работать в одном из двух режимов: во встроенном режиме и в режиме демона. Во встроенном режиме mod_wsgi очень похож на mod_perl – он “встраивает” Python в Apache и загружает код Python в память при запуске сервера. Код остаётся в памяти в течение жизни процесса Apache, что даёт значительный рост производительности по сравнению с другими механизмами. В режиме демона mod_wsgi порождает независимый процесс-демон, который обрабатывает запросы. Процесс-демон может работать от имени различных пользователей Web-сервера, что может весьма повысить уровень безопасности. Кроме того, процесс-демон может быть перезапущен без останова и перезапуска самого Apache. Обратитесь к документации mod_wsgi, чтобы определить какой режим подходит вам в большей степени. Убедитесь, что Apache установлен и модуль mod_wsgi активирован. Django будет работать с любой версией Apache, которая имеет поддержку mod_wsgi.

См. Использование Django и mod_wsgi для получения информации о настройке mod_wsgi сразу после того, как он будет установлен.

Если по какой-либо причине вы не можете использовать mod_wsgi, не волнуйтесь: Django поддерживает множество других вариантов развёртывания. Один из них – uWSGI; он отлично работает с nginx . Другой вариант – FastCGI, хорош в работе с любыми серверами кроме Apache. Дополнительно Django имеет WSGI спецификацию (PEP 3333), которая позволяет ему работать на различных серверных платформах. См. вики страницу the server-arrangements для получения специальных инструкций по установке на иные платформы.

Создание рабочей базы данных

Если вы планируете использовать функционал API баз данных Django, вам нужно удостовериться, что сервер баз данных запущен. Django поддерживает много различных СУБД. В частности к ним отностятся PostgreSQL, MySQL, Oracle и SQLite.

Если вы заняты разработкой простого проекта или чего-то, что вы не планируете развернуть в производственной среде, SQLite в целом является наипростейшим вариантом, поскольку он вообще не требует установки отдельного веб-сервера. Однако, SQLite очень отличается от других баз данных, поэтому, если вы работаете над чем-то существенным, рекомендуется выбрать ту же базу данных, которая будет использована на “боевом” сервере.

В дополнение к официально поддерживаемым базам данных есть бэкэнды, поставляемые третьими сторонами, которые позволяют использовать другие БД с Django:

Версии Django и ORM, поддерживаемые неофициальными бэкэндами, могут существенно различаться. Вопросы о конкретных возможностях и поддержке бэкэндов должны быть адресованы их разработчикам.

В дополнение к установке необходимой БД вы также должны убедиться, что вами выбран и установлен соответствующий модуль Python.

  • При использовании PostgreSQL, вам понадобится пакет postgresql_psycopg2. Вы можете обратиться к PostgreSQL notes для получения дальнейших инструкицй, специфичных для этой БД.

    Пользователям Windows следует проверить наличие неофициальной скомпилированной для Windows версии.

  • При использовании MySQL, вам понадобится пакет MySQL-python версии 1.2.1p2 или выше. Вы также можете получить инструкции, специфичные для этой БД.

  • Если вы используете SQLite, вам следует прочитать про особенности использования SQLite.

  • При использовании Oracle, вам понадобится копия cx_Oracle, но, пожалуйста, обязательно ознакомьтесь с инструкцией notes for the Oracle backend , которая содержит информацию о поддерживаемых версиях Oracle и cx_Oracle.

  • При использовании неофициальных бэкэндов от сторонних разработчиков смотрите соответствующую документацию о дополнительных требованиях.

Если вы планируете использовать команду manage.py syncdb для автоматической генерации таблиц БД для ваших моделей (после первого запуска Django и создания проекта), вам нужно убедиться, что Django имеет разрешение на создание и изменение таблиц БД; если же вы хотите создавать таблицы вручную, вам надо просто предоставить Django разрешения SELECT, INSERT, UPDATE и DELETE. Для некоторых баз данных Django потребует разрешения ALTER TABLE during syncdb but won’t issue ALTER TABLE statements on a table once syncdb has created it. После создания пользователя БД с указанными привилегиями, вам понадобится изменить настройки вашего проекта, см. DATABASES.

Если вы используете среду тестирования Django для проверки запросов к базе данных, Django понадобится разрешение на создание тестовой БД.

Удаление предыдущей версии Django

Вам нужно полностью удалить предыдущую версию Django перед установкой новой версии.

В случае, если Django предварительно установлен с помощью pip или easy_install, вам не понадобится удалять предыдущую версию вручную: просто запустите pip или easy_install снова, это приведёт к обновлению текущей версии на более новую.

В случае, если вы устанавливали Django, используя python setup.py install, его удаление будет заключаться в удалении самой директории django из site-packages. Чтобы найти нужную директорию вы должны запустить следующую команду в командной оболочке (не в интерактивной оболочке Python):

python -c "import sys; sys.path = sys.path[1:]; import django; print(django.__path__)"

Установка Django

Инструкции по установке несколько различаются в зависимости от того, каким способом вы устанавливаете пакет: установка для конкретного дистрибутива, загрузка последней официальной версии или получение текущей разрабатываемой версии.

Это просто, независимо от того, какой вариант будет вами выбран.

Установка пакета для конкретного дистрибутива

Проверьте наличие готового пакета, если ваша операционная система предоставляет возможность получить пакет/установщик Django. Как правило, этот способ удобен автоматическим разрешением зависимостей и обновлением версии Django.

Установка официальной версии с помощью pip

Это рекомендуемый способ установки Django.

  1. Установите pip. Самым простым способом сделать это является использование автономного установщика pip. Если ваш дистрибутив уже включает установленную версию pip, возможно, вам потребуется обновить её до более свежей. (Если версия устарела, вы сразу поймёте это, поскольку установка не будет работать.)

  2. (опционально) Взгляните на virtualenv и virtualenvwrapper. Эти программы предоставляют изолированное окружение Python, что намного более практично, чем установка общесистемных пакетов. Такой подход также позволяет провести установку без административных прав. Это информация для размышления, если вы захотите использовать их.

  3. Если вы используете Linux, Mac OS X или иные Unix-подобные системы, введите команду sudo pip install Django в терминале. При использовании Windows запустите командную оболочку с правами администратора и впишите pip install Django. Эта команда установит Django в системную директорию site-packages.

    При использовании virtualenv вам не нужны административные полномочия или запуск программ через sudo, Django будет установлен в окружении virtualenv в директорию site-packages.

Установка официальной версии вручную

  1. Скачайте последнюю стабильную версию со страницы загрузки.

  2. Распакуйте загруженный файл (например, командой tar xzvf Django-X.Y.tar.gz, где X.Y номер версии пакета). Если у вас установлена Windows, вы должны прежде загрузить инструмент командной строки bsdtar для запуска вышеуказанной команды или использовать для распаковки графические утилиты наподобие 7-zip.

  3. Перейдите в каталог, созданный на шаге 2 (например, cd Django-X.Y).

  4. Если вы используете Linux, Mac OS X или иные Unix-подобные системы, введите команду sudo python setup.py install в терминале. Если у вас установлена Windows, запустите командную оболочку с правами администратора и впишите python setup.py install. Эта команда установит Django в системную директорию site-packages.

    Removing an old version

    При использовании данного метода установки очень важно удалить предыдущую версию Django, если она была установлена ранее. В противном случае вы можете столкнуться с невозможностью установки новой версии.

Установка разрабатываемой версии

Tracking Django development

Если вы приняли решение использовать текущую разрабатываемую версию Django, вам нужно следить за информацией о выпуске новых исправлений на the development timeline. Это поможет вам оставаться в курсе происходящих изменений , таких как включение новой функциональности. Для получения изменений вы должны будете обновить вашу копию Django. (Для стабильных релизов, все необходимые изменения описаны в примечаниях к выпуску.)

Если вы хотите обновить Django до разрабатываемой версии, чтобы иметь возможность использовать последние, возможно, нестабильные изменения и улучшения, следуйте этой инструкции:

  1. Убедитесь, что у вас установлен Git и вы можете запустить его из командной оболочки. (Введите git help в командной оболочке, чтобы проверить это.)

  2. Склонируйте разрабатываемую ветку Django (‘trunk’ или ‘master’) вот так:

    git clone git://github.com/django/django.git django-trunk
    

    Эта команда создаст каталог django-trunk в вашей текущей директории.

  3. Убедитесь, что интерпретатор Python может загрузить код Django. Самый удобный способ сделать это – использовать pip. Запустите следующую команду:

    sudo pip install -e django-trunk/
    

    (При использовании virtualenv можно опустить sudo.)

    Это сделает код Django импортируемым, а также сделает доступным запуск django-admin.py. Иначе говоря, всё готово!

    Если у вас нет возможности установить pip, смотрите альтернативные инструкции по установке разрабатываемой версии без pip.

Предупреждение

Не запускайте команду sudo python setup.py install, поскольку вы уже провели эквивалентные действия на шаге 3.

Когда вам понадобится обновить вашу копию Django, просто запустите команду git pull в директории django-trunk.После того, как вы сделаете это, Git автоматически загрузит изменения.

Установка разрабатываемой версии без pip

Если у вас не установлен pip, вы можете вручную изменить путь поиска Python.

Сначала следуйте шагам 1 и 2, данным выше, так вы получите директорию django-trunk, включающую последнюю разрабатываемую версию Django. Теперь добавьте файл .pth, содержащий полный путь к django-trunk в каталоге site-packages. Например, для Unix-like систем:

echo WORKING-DIR/django-trunk > SITE-PACKAGES-DIR/django.pth

В строке, данной выше, измените WORKING-DIR/django-trunk на полный путь к вашей новой директории django-trunk, тажке измените SITE-PACKAGES-DIR на полный путь к системной директории с site-packages.

Местонахождение каталога site-packages зависит от используемой вами операционной системы и места, куда был установлен Python. Чтобы определить, где находится site-packages запустите следующую команду:

python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"

(запуск осуществляется в командной оболочке, а не в интерактивной оболочке Python)

Некоторые Debian-based дистрибутивы Linux имеют обособленную директорию site-packages для пакетов, установленных пользователем, например, при установке Django из загруженного архива (tarball). Команда, указанная выше, отобразит местонахождение каталога site-packages, пользовательские директории можно найти в /usr/local/lib/ вместо /usr/lib/.

Далее вам нужно сделать утилиту django-admin.py доступной для системной переменной окружения PATH.

В Unix-like системах для этого создаётся символьная ссылка на файл django-trunk/django/bin/django-admin.py в директории, содержащей системные пути, такой как /usr/local/bin. К примеру так:

ln -s WORKING-DIR/django-trunk/django/bin/django-admin.py /usr/local/bin/

(В строке, данной выше, измените WORKING-DIR на полный путь к вашей новой директории django-trunk.)

Это делается для удобства, чтобы иметь возможностьвводить команду django-admin.py, находясь в любом каталоге вместо того, чтобы указывать полный путь к файлу.

На Windows аналогичного результата можно добиться путём копирования файла django-trunk/django/bin/django-admin.py в какой-нибудь системный каталог, к примеру C:\Python27\Scripts.