Установка ГеоДжанго¶
Обзор¶
В общем, для установки GeoDjango требуется:
Подробная информация о каждом из требований и инструкции по установке представлены в разделах ниже. Кроме того, инструкции для конкретной платформы доступны для:
Макос
окна
Используйте источник
Поскольку GeoDjango использует новейшие технологии геопространственного программного обеспечения с открытым исходным кодом, необходимы последние версии библиотек. Если бинарные пакеты недоступны для вашей платформы, может потребоваться установка из исходного кода. При компиляции библиотек из исходного кода внимательно следуйте инструкциям, особенно если вы новичок.
Требования¶
Питон и Джанго¶
Поскольку GeoDjango включен в состав Django, пожалуйста, обратитесь к инструкциям по установке Django для получения подробной информации о том, как установить.
Пространственная база данных¶
PostgreSQL (с PostGIS), MySQL, Oracle и SQLite (с SpatiaLite) — это поддерживаемые в настоящее время пространственные базы данных.
Примечание
Рекомендуется использовать PostGIS, поскольку это наиболее развитая и многофункциональная пространственная база данных с открытым исходным кодом.
Геопространственные библиотеки, необходимые для установки GeoDjango, зависят от используемой пространственной базы данных. Ниже перечислены требования к библиотекам, поддерживаемые версии и любые примечания для каждой из поддерживаемых баз данных:
База данных |
Требования к библиотеке |
Поддерживаемые версии |
Заметки |
|---|---|---|---|
PostgreSQL |
ГЕОС, GDAL, PROJ, PostGIS |
13+ |
Требуется ПостГИС. |
MySQL |
ГЕОС, ГДАЛ |
8.0.11+ |
|
Оракул |
ГЕОС, ГДАЛ |
19+ |
XE не поддерживается. |
SQLite |
ГЕОС, ГДАЛ, ПРОЙ, SpatiaLite |
3.31.0+ |
Требуется SpatiaLite 4.3+. |
См. также `эту матрицу сравнения`__ на OSGeo Wiki для возможных комбинаций PostgreSQL/PostGIS/GEOS/GDAL.
Установка¶
Геопространственные библиотеки¶
Установка базы данных¶
Конфигурация БАЗ ДАННЫХ¶
Установите для параметра ENGINE один из пространственных бэкэндов.
Добавьте django.contrib.gis в INSTALLED_APPS.¶
Как и в случае с другими приложениями, вносящими вклад в Django, вам всего нужно будет добавить django.contrib.gis в INSTALLED_APPS в ваших настройках. Это сделано для того, чтобы можно было найти шаблоны gis. Если этого не сделать, такие функции, как географическое администрирование или карты сайта KML, не будут работать должным образом.
Решение проблем¶
Если вы не можете найти здесь решение своей проблемы, присоединяйтесь к сообществу! Ты можешь:
Задайте свой вопрос на форуме `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 (из модуля 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
Инструкции для конкретной платформы¶
macOS¶
Из-за разнообразия систем упаковки, доступных для macOS, у пользователей есть несколько различных вариантов установки GeoDjango. Эти варианты:
Postgres.app (самый простой и рекомендуемый)
доморощенный
финк
В этом разделе также содержатся инструкции по установке обновленной версии Питон из пакетов, предоставленных Python Software Foundation, однако это не обязательно.
Питон¶
Хотя 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 с помощью :ref:homebrew.
После установки Postgres.app добавьте следующее в свой .bash_profile, чтобы вы могли запускать программы пакета из командной строки. Замените X.Y на версию PostgreSQL в установленном вами Postgres.app:
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/X.Y/bin
Вы можете проверить, правильно ли настроен путь, набрав который psql в командной строке терминала.
Домашнее пиво¶
`Homebrew`__ предоставляет «рецепты» для сборки двоичных файлов и пакетов из исходного кода. Он предоставляет инструкции по необходимым требованиям GeoDjango на компьютерах Macintosh под управлением macOS. Поскольку Homebrew по-прежнему собирает программное обеспечение из исходного кода, требуется Xcode.
Краткое содержание:
$ brew install postgresql
$ brew install postgis
$ brew install gdal
$ brew install libgeoip
Финк¶
`Курт Швер`__ был достаточно любезен, чтобы создать пакеты GeoDjango для пользователей системы пакетов `Fink`__. `Доступны разные пакеты`__ (начиная с django-gis), в зависимости от того, какую версию Python вы хотите использовать.
МакПортс¶
`MacPorts`__ можно использовать для установки необходимых компонентов GeoDjango на компьютеры под управлением macOS. Поскольку MacPorts по-прежнему собирает программное обеспечение из исходного кода, требуется Xcode.
Краткое содержание:
$ sudo port install postgresql13-server
$ sudo port install geos
$ sudo port install proj6
$ sudo port install postgis3
$ sudo port install gdal
$ sudo port install libgeoip
Примечание
Вам также придется изменить PATH в вашем .profile, чтобы программы MacPorts были доступны из командной строки:
export PATH=/opt/local/bin:/opt/local/lib/postgresql13/bin
Кроме того, добавьте параметр DYLD_FALLBACK_LIBRARY_PATH, чтобы Python мог найти библиотеки:
export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib:/opt/local/lib/postgresql13
Окна¶
Пройдите последовательно следующие разделы, чтобы установить GeoDjango в Windows. В этом уроке мы установим 64-битные версии каждого приложения.
Питон¶
Установите 64-битную версию Python. Дополнительную информацию см. в разделе Установка Python.
PostgreSQL¶
Загрузите последнюю версию установщика PostgreSQL 15.x с веб-сайта EnterpriseDB__. После загрузки запустите установщик, следуйте инструкциям на экране и сохраните параметры по умолчанию, если вы не знаете, к чему приведет их изменение.
Примечание
Установщик PostgreSQL создает нового суперпользователя базы данных postgres. Вам будет предложено один раз установить пароль — обязательно запомните его!
Когда программа установки завершится, она спросит: «Запустить Stack Builder при выходе?» – оставьте этот флажок, так как необходимо установить ПостГИС.
Примечание
В случае успешной установки сервер PostgreSQL будет работать в фоновом режиме каждый раз, когда система запускается как служба Windows. Будет создана группа стартового меню PostgreSQL 15, содержащая ярлыки для Application Stack Builder (ASB), а также «SQL Shell», которая запускает командное окно «psql».
ПостГИС¶
В Stack Builder (для запуска вне установщика: ) выберите в раскрывающемся меню и нажмите «Далее». Разверните дерево меню и выберите .
После нажатия кнопки «Далее» вам будет предложено подтвердить выбранный пакет и «Каталог загрузки». Нажмите «Далее» еще раз, PostGIS загрузится, и вам будет предложено нажать «Далее», чтобы начать установку PostGIS. Во время установки выберите параметры по умолчанию. Процесс установки включает в себя четыре диалоговых окна «Да/Нет», параметром по умолчанию для всех четырех является «Нет».
ОСГео4В¶
Установщик OSGeo4W помогает установить библиотеки PROJ, GDAL и GEOS, необходимые для GeoDjango. Сначала загрузите установщик OSGeo4W и запустите его. Выберите и нажмите «Далее». Убедитесь, что в списке «Выбрать пакеты» выбран GDAL. Если какие-либо другие пакеты включены по умолчанию, они не требуются для GeoDjango и их можно безопасно снять. После нажатия кнопки «Далее» и принятия лицензионных соглашений пакеты будут автоматически загружены и установлены, после чего вы сможете выйти из установщика.
Изменить среду Windows¶
Чтобы использовать GeoDjango, вам необходимо добавить каталоги OSGeo4W в «Путь» вашей системы Windows, а также создать переменные среды «GDAL_DATA» и «PROJ_LIB». Следующий набор команд, выполняемых с помощью cmd.exe, настроит это. Перезагрузите устройство после завершения, чтобы новые переменные среды были распознаны:
set OSGEO4W_ROOT=C:\OSGeo4W
set GDAL_DATA=%OSGEO4W_ROOT%\apps\gdal\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%"
Примечание
Для выполнения этих команд необходимы права администратора. Для этого запустите командную строку от имени администратора и введите приведенные выше команды. Вам необходимо выйти из системы и снова войти в нее, чтобы настройки вступили в силу.
Примечание
Если вы настроили каталоги установки OSGeo4W, вам необходимо будет соответствующим образом изменить переменные OSGEO4W_ROOT.
Установите Django и настройте базу данных.¶
Установите Django в вашей системе. Рекомендуется создать виртуальную среду для каждого создаваемого вами проекта.
психокопг¶
Модуль Python psycopg обеспечивает интерфейс между Python и базой данных PostgreSQL. psycopg можно установить через pip в вашей виртуальной среде Python:
...\> py -m pip install psycopg
Сноски