Установка GeoDjango

Обзор

Как правило, для установки GeoDjango требуется:

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

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

Использовать источник

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

Требования

Python и Django

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

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

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

Примечание

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

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

База данных Требования к библиотеке Поддерживаемые версии Заметки
PostgreSQL ГЕОС, ГДАЛ, ПРОДЖ, ПостГИС 9.6+ Требуется PostGIS.
MySQL ГЕОС, ГДАЛ 5.7+ Ограниченная функциональность .
Oracle ГЕОС, ГДАЛ 12.2+ XE не поддерживается.
SQLite ГЕОС, ГДАЛ, ПРОДЖ, SpatiaLite 3.9.0+ Требуется SpatiaLite 4.3+

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

Установка

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

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

DATABASESконфигурация

Установите ENGINEнастройку на один из пространственных бэкэндов .

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

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

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

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

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

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

Безусловно, наиболее распространенной проблемой при установке 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функцию (из ctypes.utilмодуля Python) для обнаружения библиотек. 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

Инструкции для конкретной платформы

macOS

Из-за разнообразия систем упаковки, доступных для macOS, у пользователей есть несколько различных вариантов установки GeoDjango. Вот эти варианты:

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

Python

Хотя macOS поставляется с установленным Python, пользователи могут использовать установщики фреймворка, предоставленные Python Software Foundation. Преимущество использования установщика заключается в том, что Python для macOS останется «нетронутым» для внутреннего использования операционной системой.

Примечание

Вам нужно будет изменить 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 предоставляет «рецепты» для сборки двоичных файлов и пакетов из исходного кода. Он предоставляет рецепты для необходимых компонентов GeoDjango на компьютерах Macintosh под управлением macOS. Поскольку Homebrew по-прежнему создает программное обеспечение из исходного кода, требуется Xcode .

Резюме:

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

Пакеты KyngChaos

William Kyngesburye предоставляет ряд бинарных пакетов геопространственных библиотек, которые помогают установить GeoDjango на macOS без их компиляции из исходного кода. Однако Xcode по-прежнему необходим для компиляции адаптеров базы данных Python psycopg2 (для PostGIS).

Примечание

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

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

  • UnixImageIO
  • ПРОЕКТ
  • GEOS
  • SQLite3 (включает библиотеку SpatiaLite)
  • ГДАЛ

Установите пакеты в том порядке, в котором они перечислены выше, поскольку для пакетов 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можете установить его с помощью следующей команды:

$ python -m pip install psycopg2

Примечание

Если у вас его нет pip, следуйте инструкциям по установке, чтобы установить его.

Финк

Курт Швер был достаточно любезен, чтобы создать пакеты GeoDjango для пользователей системы пакетов Fink . Доступны разные пакеты (начиная с django-gis), в зависимости от того, какую версию Python вы хотите использовать.

MacPorts

MacPorts можно использовать для установки необходимых компонентов GeoDjango на компьютерах под управлением macOS. Поскольку MacPorts по-прежнему создает программное обеспечение из исходного кода, требуется Xcode .

Резюме:

$ 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

Окна

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

Python

Установите 64-битную версию Python. См. Установка Python для получения дополнительной информации.

PostgreSQL

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

Примечание

Установщик PostgreSQL создает нового postgresсуперпользователя базы данных. Вам будет предложено установить пароль один раз - обязательно запомните его!

Когда установщик завершит работу, он спросит: «Запустить Stack Builder при выходе?» - оставьте это отмеченным, так как это необходимо для установки PostGIS .

Примечание

В случае успешной установки сервер PostgreSQL будет работать в фоновом режиме каждый раз, когда система запускается как служба Windows. PostgreSQL 12 начала группа меню будет создана и содержит ярлыки для приложений Stack Builder (ASB), а также «SQL Shell», который будет запущен в psqlокне командной строки.

PostGIS

В Stack Builder (для запуска вне программы установки, Start ‣ PostgreSQL 12 ‣ Application Stack Builder ) выберите PostgreSQL 12 (x64) на порту 5432 в раскрывающемся меню и нажмите «Далее». Разверните дерево меню Категории ‣ Пространственные расширения и выберите PostGIS XY для PostgreSQL 12 .

После нажатия кнопки «Далее» вам будет предложено подтвердить выбранный пакет и «Каталог для загрузки». Нажмите «Далее» еще раз, это загрузит PostGIS, и вам будет предложено нажать «Далее», чтобы запустить установщик PostGIS. Выберите параметры по умолчанию во время установки. Процесс установки включает три диалоговых окна «Да / Нет», параметр по умолчанию для всех трех - «Нет».

OSGeo4W

Установщик OSGeo4W помогает установить библиотеки PROJ, GDAL и GEOS необходимые GeoDjango. Сначала загрузите установщик OSGeo4W (64-разрядный) и запустите его. Выберите « Экспресс-установка веб-ГИС» и нажмите «Далее». В списке «Выбрать пакеты» убедитесь, что выбран GDAL; MapServer также включен по умолчанию, но не требуется для GeoDjango и может быть безопасно отключен. После нажатия кнопки «Далее» и принятия лицензионных соглашений пакеты будут автоматически загружены и установлены, после чего вы сможете выйти из установщика.

Изменить среду Windows

Чтобы использовать GeoDjango, вам необходимо добавить каталоги OSGeo4W в вашу систему Windows Path, а также переменные create GDAL_DATA и PROJ_LIBenvironment. Следующий набор команд, выполняемых с помощью cmd.exe, настроит это. Перезагрузите устройство, как только это будет завершено, чтобы новые переменные среды были распознаны:

set OSGEO4W_ROOT=C:\OSGeo4W64
set GDAL_DATA=%OSGEO4W_ROOT%\share\gdal
set PROJ_LIB=%OSGEO4W_ROOT%\share\proj
set PATH=%PATH%;%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%"

Примечание

Предполагается, что установлена ​​64-битная версия OSGeo4W. Если вы установили 32-битную версию, вам нужно будет изменить первую команду на .set OSGEO4W_ROOT=C:\OSGeo4W

Примечание

Для выполнения этих команд требуются права администратора. Для этого запустите командную строку от имени администратора и введите указанные выше команды. Вам необходимо выйти и снова войти в систему, чтобы настройки вступили в силу.

Примечание

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

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

установите Django в вашу систему. Рекомендуется создавать виртуальную среду для каждого создаваемого проекта.

psycopg2

Модуль psycopg2Python обеспечивает интерфейс между Python и базой данных PostgreSQL. psycopg2можно установить через pip в виртуальной среде Python:

...\> py -m pip install psycopg2

Сноски

[1]GeoDjango использует find_library()процедуру from ctypes.utilдля поиска разделяемых библиотек.

Copyright ©2021 All rights reserved