Установка GeoDjango ¶
Предварительный просмотр ¶
В общем, для установки GeoDjango требуется:
Подробная информация о каждом требовании и инструкции по установке представлены в разделах ниже. Кроме того, доступны инструкции для конкретной платформы:
Использование исходного кода
Поскольку GeoDjango использует преимущества последних разработок в области технологий геопространственного программного обеспечения с открытым исходным кодом, необходимы последние версии библиотек. Если бинарные пакеты недоступны на вашей платформе, может потребоваться установка из исходного кода. При компиляции библиотек из исходного кода внимательно следуйте инструкциям, особенно если вы новичок.
Требования ¶
Python и Django ¶
Поскольку GeoDjango входит в состав Django, обратитесь к инструкциям по установке Django для получения подробной информации.
Пространственная база данных ¶
PostgreSQL (с PostGIS), MySQL (в основном с движком MyISAM), Oracle и SQLite (с SpatiaLite) в настоящее время поддерживаются пространственными базами данных.
Заметка
PostGIS рекомендуется, потому что это наиболее зрелая и многофункциональная бесплатная пространственная база данных.
Библиотеки геопространственных данных, необходимые для установки GeoDjango, зависят от используемой пространственной базы данных. В следующей таблице показаны необходимые библиотеки, поддерживаемые версии и любые примечания для различных механизмов баз данных:
База данных | Требуются библиотеки | Поддерживаемые версии | Ноты |
---|---|---|---|
PostgreSQL | GEOS, GDAL, PROJ.4, PostGIS | 9.5+ | Требуется PostGIS. |
MySQL | ГЕОС, ГДАЛ | 5.6.1+ | Ограниченная функциональность . |
оракул | ГЕОС, ГДАЛ | 12.2+ | XE не поддерживается. |
SQLite | GEOS, GDAL, PROJ.4, SpatiaLite | 3.8.3+ | Требуется SpatiaLite 4.3+ |
См. Также эту сравнительную матрицу в OSGeo Wiki, где описаны возможные комбинации PostgreSQL / PostGIS / GEOS / GDAL.
Установка ¶
Геопространственные библиотеки ¶
Установка базы данных ¶
Настройка ¶DATABASES
Установите настройку ENGINE
на один из космических двигателей .
Добавление django.contrib.gis
в ¶INSTALLED_APPS
Как и с другими приложениями , поступивших в Django, просто добавьте django.contrib.gis
к INSTALLED_APPS
в настройках. Это для того, чтобы gis
можно было обнаружить шаблоны ; в противном случае некоторые функции, такие как интерфейс географического администрирования или карты сайта KML, не будут работать правильно.
Устранение неполадок ¶
Если вы не можете найти решение своей проблемы на этой странице, присоединяйтесь к сообществу! Ты можешь :
- Присоединяйтесь к каналу IRC
#geodjango
на Freenode. Будьте терпеливы и вежливы; даже если вы не получите немедленного ответа, кто-нибудь попытается ответить на ваш вопрос, когда прочитает его. - Задайте свой вопрос в списке рассылки GeoDjango .
- Создайте тикет в трассировке Django, если считаете, что есть ошибка. Обязательно укажите полное описание проблемы, используемые версии и укажите компонент «ГИС».
Настройки среды библиотеки ¶
Самая распространенная проблема при установке 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, модуль Python ctypes может не найти библиотеку, даже если путь к библиотеке задан правильно и геопространственные библиотеки были успешно скомпилированы.
Пакет binutils
можно установить в системах Debian и Ubuntu с помощью следующей команды:
$ sudo apt-get install binutils
Аналогичным образом в системах Red Hat и CentOS:
$ sudo yum install binutils
Инструкции для определенных платформ ¶
macOS ¶
Из-за разнообразия систем упаковки, доступных для macOS, существуют разные варианты установки GeoDjango. Вот эти варианты:
- Postgres.app (самое простое и рекомендуемое решение)
- Homebrew
- Пакеты KyngChaos
- доносчик
- MacPorts
- Компиляция из исходников
Этот раздел также включает инструкции по установке обновленной версии Python из пакетов, предоставленных Python Software Foundation, но это не является обязательным требованием.
Python ¶
Несмотря на то, что Python предварительно установлен в macOS, его можно переустановить с помощью пакетов, предоставленных 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
- 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
их можно установить с помощью следующей команды:
$ 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:
pip install psycopg2
Сноски
[1] | GeoDjango использует подпрограмму find_library() из ctypes.util найти разделяемые библиотеки. |