Установка GeoDjango ¶
Обзор ¶
Как правило, для установки GeoDjango требуется:
Подробные сведения о каждом из требований и инструкции по установке приведены в разделах ниже. Кроме того, доступны инструкции для конкретной платформы:
Использовать источник
Поскольку 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. Вот эти варианты:
- Postgres.app (самый простой и рекомендуемый)
- Домашнее пиво
- Пакеты KyngChaos
- Финк
- MacPorts
- Сборка из исходников
В этот раздел также включены инструкции по установке обновленной версии 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.
psql
окне командной строки.
PostGIS ¶
В Stack Builder (для запуска вне программы установки,
) выберите в раскрывающемся меню и нажмите «Далее». Разверните дерево меню и выберите .После нажатия кнопки «Далее» вам будет предложено подтвердить выбранный пакет и «Каталог для загрузки». Нажмите «Далее» еще раз, это загрузит PostGIS, и вам будет предложено нажать «Далее», чтобы запустить установщик PostGIS. Выберите параметры по умолчанию во время установки. Процесс установки включает три диалоговых окна «Да / Нет», параметр по умолчанию для всех трех - «Нет».
OSGeo4W ¶
Установщик OSGeo4W помогает установить библиотеки PROJ, GDAL и GEOS необходимые GeoDjango. Сначала загрузите установщик OSGeo4W (64-разрядный) и запустите его. Выберите « и нажмите «Далее». В списке «Выбрать пакеты» убедитесь, что выбран GDAL; MapServer также включен по умолчанию, но не требуется для GeoDjango и может быть безопасно отключен. После нажатия кнопки «Далее» и принятия лицензионных соглашений пакеты будут автоматически загружены и установлены, после чего вы сможете выйти из установщика.
Изменить среду Windows ¶
Чтобы использовать GeoDjango, вам необходимо добавить каталоги OSGeo4W в вашу систему Windows Path
, а также переменные create GDAL_DATA
и PROJ_LIB
environment. Следующий набор команд, выполняемых с помощью 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 ¶
Модуль psycopg2
Python обеспечивает интерфейс между Python и базой данных PostgreSQL. psycopg2
можно установить через pip в виртуальной среде Python:
...\> py -m pip install psycopg2
Сноски
[1] | GeoDjango использует find_library() процедуру from
ctypes.util для поиска разделяемых библиотек. |