Spec-Zone.ru › Django 1.8

Установка GeoDjango

Обзор

В целом, установка GeoDjango требует:

  1. Python и Django
  2. Пространственная база данных
  3. Установка геопространственных библиотек

Подробные сведения о каждом из требований и инструкции по установке приведены в разделах ниже. Кроме того, доступны платформенно-специфические инструкции для:

  • Mac OS X
  • Windows

Используйте исходный код

Так как GeoDjango использует новейшие технологии открытого геопространственного программного обеспечения, необходимы последние версии библиотек. Если двоичные пакеты недоступны для вашей платформы, может потребоваться установка из исходного кода. При компиляции библиотек из исходного кода, пожалуйста, строго следуйте инструкциям, особенно если вы новичок.

Требования

Python и Django

Поскольку GeoDjango включен в Django, обратитесь к инструкциям по установке Django инструкциям по установке для получения подробных сведений.

Пространственная база данных

В настоящее время поддерживаются пространственные базы данных PostgreSQL (с PostGIS), MySQL (в основном с движком MyISAM), Oracle и SQLite (с SpatiaLite).

Примечание

Рекомендуется использовать PostGIS, поскольку это наиболее зрелая и функциональная открытая пространственная база данных.

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

База данных Требования к библиотекам Поддерживаемые версии Примечания
PostgreSQL GEOS, PROJ.4, PostGIS 9.0+ Требуется PostGIS.
MySQL GEOS 5.5+ Не соответствует OGC; ограниченная функциональность.
Oracle GEOS 11.1+ XE не поддерживается.
SQLite GEOS, GDAL, PROJ.4, SpatiaLite 3.6.+ Требуется SpatiaLite 2.4+, pysqlite2 2.5+

Также см. эту сравнительную матрицу на вики-сайте OSGeo для возможных комбинаций PostgreSQL/PostGIS/GEOS/GDAL.

Установка

Геопространственные библиотеки

  • Установка геопространственных библиотек

Установка базы данных

  • Установка PostGIS
  • Установка Spatialite

Добавить django.contrib.gis в INSTALLED_APPS

Как и другие приложения Django contrib, вам только нужно добавить django.contrib.gis в INSTALLED_APPS в файле настроек. Это необходимо, чтобы gis шаблоны могли быть найдены – в противном случае такие функции, как географический администратор или KML-карты сайта, не будут работать должным образом.

Устранение неполадок

Если вы не можете найти решение своей проблемы здесь, примите участие в сообществе! Вы можете:

  • Присоединиться к #geodjango каналу IRC на Freenode. Пожалуйста, будьте терпеливы и вежливы – хотя вы можете не получить немедленного ответа, кто-то постарается ответить на ваш вопрос, как только увидит его.
  • Задайте свой вопрос на почтовой рассылке GeoDjango.
  • Отправить запрос на отслеживание ошибки на Django trac, если вы считаете, что есть ошибка. Убедитесь, что вы предоставите полное описание проблемы, используемые версии и укажите компонент как «GIS».

Настройки среды библиотек

Наиболее распространённой проблемой при установке GeoDjango является то, что внешние общие библиотеки (например, для GEOS и GDAL) не могут быть найдены. [1] Обычно это происходит потому, что операционная система не знает, где установлены библиотеки, скомпилированные из исходного кода.

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

LD_LIBRARY_PATH переменная среды

Пользователь может установить эту переменную среды, чтобы настроить пути к библиотекам, которые он хочет использовать. Типичный каталог библиотек для программного обеспечения, собранного из исходного кода, это /usr/local/lib. Таким образом, /usr/local/lib необходимо включить в переменную LD_LIBRARY_PATH. Например, пользователь может добавить следующее в свой файл профиля bash:

export LD_LIBRARY_PATH=/usr/local/lib

Настройка системного пути к библиотекам

В системах GNU/Linux обычно существует файл в /etc/ld.so.conf, который может содержать дополнительные пути из файлов в другом каталоге, например /etc/ld.so.conf.d. В качестве root-пользователя добавьте пользовательский путь к библиотеке (например, /usr/local/lib) в новую строку в ld.so.conf. Вот один пример:

$ sudo echo /usr/local/lib >> /etc/ld.so.conf
$ sudo ldconfig

Для пользователей OpenSolaris системный путь к библиотекам можно изменить, используя утилиту crle. Запустите crle без опций, чтобы увидеть текущую конфигурацию, и используйте crle -l для установки с новым путем к библиотеке. Будьте очень осторожны при изменении системного пути к библиотекам:

# crle -l $OLD_PATH:/usr/local/lib

Установить binutils

GeoDjango использует функцию find_library (из модуля Python ctypes.util) для поиска библиотек. Функция find_library использует программу под названием objdump (часть пакета binutils) для проверки общей библиотеки в системах GNU/Linux. Таким образом, если binutils не установлен в вашей системе Linux, то ctypes Python может не найти вашу библиотеку, даже если путь к вашей библиотеке настроен правильно, и геопространственные библиотеки были скомпилированы без ошибок.

Пакет binutils можно установить в системах Debian и Ubuntu с помощью следующей команды:

$ sudo apt-get install binutils

Аналогично, в системах Red Hat и CentOS:

$ sudo yum install binutils

Платформенно-специфические инструкции

Mac OS X

Из-за разнообразия систем пакетирования, доступных для OS X, пользователи имеют несколько вариантов установки GeoDjango. Эти варианты:

  • Postgres.app (самый простой и рекомендуемый)
  • Homebrew
  • Пакеты KyngChaos
  • Fink
  • MacPorts
  • Компиляция из исходного кода

Этот раздел также содержит инструкции по установке обновлённой версии Python из пакетов, предоставленных Python Software Foundation, однако это не обязательно.

Python

Хотя в OS X установлен Python, пользователи могут использовать установщики фреймворка (2.7, 3.2 и 3.3 доступны) от Python Software Foundation. Преимущество использования установщика заключается в том, что Python OS X останется «чистым» для внутренних системных задач.

Примечание

Вам потребуется изменить переменную среды PATH в вашем файле .profile, чтобы использовать новую версию Python, когда вы вводите python в командной строке:

export PATH=/Library/Frameworks/Python.framework/Versions/Current/bin:$PATH

Postgres.app

Postgres.app — это автономный сервер PostgreSQL, который включает расширение PostGIS. Вам также потребуется установить gdal и libgeoip с помощью Homebrew.

После установки Postgres.app добавьте следующее в свой .bash_profile, чтобы вы могли запускать программы пакета из командной строки. Замените X.Y на версию PostgreSQL в установленной вами Postgres.app:

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/X.Y/bin

Вы можете проверить, правильно ли настроен путь, набрав which psql в командной строке.

Homebrew

Homebrew предоставляет «рецепты» для сборки двоичных файлов и пакетов из исходного кода. Он предоставляет рецепты для предварительных требований GeoDjango на компьютерах Macintosh, работающих под управлением OS X. Поскольку Homebrew всё ещё собирает программное обеспечение из исходного кода, требуются Apple Developer Tools.

Резюме:

$ brew install postgresql
$ brew install postgis
$ brew install gdal
$ brew install libgeoip

Пакеты KyngChaos

William Kyngesburye предоставляет несколько бинарных пакетов геопространственной библиотеки, которые упрощают установку GeoDjango на OS X без компиляции из исходного кода. Однако для компиляции адаптеров Python баз данных psycopg2 (для PostGIS) и pysqlite2 (для SpatiaLite) все равно необходимы инструменты разработчика Apple.

Примечание

Пользователям SpatiaLite следует обратиться к разделу инструкции для Mac OS X после установки пакетов для получения дополнительных инструкций.

Загрузите пакеты фреймворка для:

  • UnixImageIO
  • PROJ
  • GEOS
  • SQLite3 (включает библиотеку SpatiaLite)
  • GDAL

Установите пакеты в порядке их перечисления выше, так как пакеты GDAL и SQLite требуют пакетов, перечисленных перед ними.

После этого вы также можете установить бинарные пакеты KyngChaos для PostgreSQL и PostGIS.

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

export PATH=/Library/Frameworks/UnixImageIO.framework/Programs:$PATH
export PATH=/Library/Frameworks/PROJ.framework/Programs:$PATH
export PATH=/Library/Frameworks/GEOS.framework/Programs:$PATH
export PATH=/Library/Frameworks/SQLite3.framework/Programs:$PATH
export PATH=/Library/Frameworks/GDAL.framework/Programs:$PATH
export PATH=/usr/local/pgsql/bin:$PATH
psycopg2

После установки бинарных файлов KyngChaos и изменения PATH, как описано выше, psycopg2 может быть установлен с помощью следующей команды:

$ pip install psycopg2

Примечание

Если у вас нет pip, следуйте инструкциям по установке для её установки.

Fink

Kurt Schwehr любезно создал пакеты GeoDjango для пользователей системы пакетов Fink. Доступны различные пакеты (начинающиеся с «django-gis»), в зависимости от используемой версии Python.

MacPorts

MacPorts можно использовать для установки предварительных требований GeoDjango на Macintosh компьютерах под управлением OS X. Поскольку MacPorts все еще собирает программное обеспечение из исходного кода, необходимы инструменты разработчика Apple.

Резюме:

$ sudo port install postgresql93-server
$ sudo port install geos
$ sudo port install proj
$ sudo port install postgis
$ sudo port install gdal +geos
$ sudo port install libgeoip

Примечание

Вам также нужно будет изменить PATH в .profile, чтобы программы MacPorts были доступны из командной строки:

export PATH=/opt/local/bin:/opt/local/lib/postgresql93/bin

Кроме того, добавьте DYLD_FALLBACK_LIBRARY_PATH настройку, чтобы Python мог найти библиотеки:

export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib:/opt/local/lib/postgresql93

Windows

Выполняйте следующие разделы последовательно для установки GeoDjango на Windows.

Примечание

Эти инструкции предполагают, что вы используете 32-разрядные версии всех программ. Хотя 64-разрядные версии Python и PostgreSQL 9.x доступны, 64-разрядные версии пространственных библиотек, таких как GEOS и GDAL, пока не предоставляются установщиком OSGeo4W.

Python

Сначала загрузите последнюю версию установщика Python 2.7 с веб-сайта Python. Затем запустите установщик и сохраните значения по умолчанию — например, оставьте опцию «Установить для всех пользователей» выбранной, а путь установки установленным как C:\Python27.

Примечание

У вас может быть установлена версия Python в C:\python, поскольку продукты ESRI иногда устанавливают там копию. Вы все равно должны установить свежую версию Python 2.7.

PostgreSQL

Сначала загрузите последнюю версию установщика PostgreSQL 9.x с веб-сайта EnterpriseDB. После загрузки просто запустите установщик, следуйте инструкциям на экране и сохраняйте значения по умолчанию, если вы не знаете последствий их изменения.

Примечание

Установщик PostgreSQL создаёт как нового пользователя Windows в качестве «сервисного аккаунта postgres», так и postgres суперпользователя базы данных. Вас попросят один раз установить пароль для обоих аккаунтов — убедитесь, что вы его запомнили!

По завершении установки установщик запросит запустить Application Stack Builder (ASB) при выходе — оставьте это выбранным, так как это необходимо для установки PostGIS.

Примечание

При успешной установке сервер PostgreSQL будет работать в фоновом режиме каждый раз при запуске системы как служба Windows. Будет создана группа меню PostgreSQL 9.x и она будет содержать ярлыки для ASB, а также «SQL Shell», который запустит psql окно команд.

PostGIS

Внутри Application Stack Builder (для запуска вне установщика, Пуск ‣ Программы ‣ PostgreSQL 9.x) выберите PostgreSQL Database Server 9.x на порту 5432 из выпадающего меню. Далее, разверните меню Категории ‣ Пространственные расширения и выберите PostGIS X.Y для PostgreSQL 9.x.

После нажатия кнопки «Далее» вас попросят выбрать ваш зеркало, PostGIS будет загружен, и начнется установка PostGIS. Выберите только значения по умолчанию во время установки (например, не сбрасывайте флажок для создания базы данных PostGIS по умолчанию).

Примечание

Вас попросят ввести ваш postgres пароль суперпользователя базы данных в диалоговом окне «Информация о подключении к базе данных».

psycopg2

Модуль Python psycopg2 предоставляет интерфейс между Python и базой данных PostgreSQL. Загрузите последний установщик Windows для вашей версии Python и PostgreSQL и запустите, используя параметры по умолчанию. [2]

OSGeo4W

Установщик OSGeo4W упрощает установку библиотек PROJ.4, GDAL и GEOS, необходимых для GeoDjango. Сначала загрузите установщик OSGeo4W и запустите его. Выберите Express Web-GIS Install и нажмите «Далее». В списке «Выбор пакетов» убедитесь, что выбран GDAL; MapServer и Apache также включены по умолчанию, но не требуются GeoDjango и могут быть безопасно сняты с выбора. После нажатия «Далее» пакеты будут автоматически загружены и установлены, после чего вы можете выйти из установщика.

Изменение среды Windows

Для использования GeoDjango вам нужно добавить каталоги Python и OSGeo4W в вашу системную переменную среды Windows Path, а также создать GDAL_DATA и PROJ_LIB переменные среды. Следующая группа команд, которые можно выполнить с помощью cmd.exe, настроит это:

set OSGEO4W_ROOT=C:\OSGeo4W
set PYTHON_ROOT=C:\Python27
set GDAL_DATA=%OSGEO4W_ROOT%\share\gdal
set PROJ_LIB=%OSGEO4W_ROOT%\share\proj
set PATH=%PATH%;%PYTHON_ROOT%;%OSGEO4W_ROOT%\bin
reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /f /d "%PATH%"
reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v GDAL_DATA /t REG_EXPAND_SZ /f /d "%GDAL_DATA%"
reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROJ_LIB /t REG_EXPAND_SZ /f /d "%PROJ_LIB%"

Для вашего удобства эти команды доступны в исполняемом пакетном скрипте geodjango_setup.bat.

Примечание

Требуются права администратора для выполнения этих команд. Для этого щелкните правой кнопкой мыши на geodjango_setup.bat и выберите Запуск от имени администратора. Для того, чтобы настройки вступили в силу, вам нужно будет выйти и снова войти в систему.

Примечание

Если вы изменили каталоги установки Python или OSGeo4W, вам необходимо соответствующим образом изменить переменные OSGEO4W_ROOT и/или PYTHON_ROOT.

Установка Django и настройка базы данных

Наконец, установите Django на вашей системе.

Сноски

[1] GeoDjango использует функцию find_library() из ctypes.util для поиска общих библиотек.
[2] Установщики Windows psycopg2 упакованы и поддерживаются Jason Erickson.

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/1.8/ref/contrib/gis/install/index/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API