• 3.1
  • 5.0
  • 6.1
  • Версия документации: 3.2

Установка ГеоДжанго

Обзор

В общем, для установки GeoDjango требуется:

  1. Python и Django

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

  3. геолибы

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

  • Макос

  • окна

Используйте источник

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

Требования

Питон и Джанго

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

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

PostgreSQL (with PostGIS), MySQL (mostly with MyISAM engine), Oracle, and SQLite (with SpatiaLite) are the spatial databases currently supported.

Примечание

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

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

База данных

Требования к библиотеке

Поддерживаемые версии

Заметки

PostgreSQL

ГЕОС, GDAL, PROJ, PostGIS

9.6+

Требуется ПостГИС.

MySQL

ГЕОС, ГДАЛ

5.7+

Ограниченная функциональность.

Оракул

ГЕОС, ГДАЛ

12.2+

XE не поддерживается.

SQLite

ГЕОС, ГДАЛ, ПРОЙ, SpatiaLite

3.9.0+

Требуется SpatiaLite 4.3+.

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

Установка

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

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

Конфигурация БАЗ ДАННЫХ

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

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

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

Решение проблем

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

  • Join the #django-geo IRC channel on Libera.Chat. Please be patient and polite – while you may not get an immediate response, someone will attempt to answer your question as soon as they see it.

  • Задайте свой вопрос на форуме GeoDjango.

  • Если вы считаете, что произошла ошибка, подайте заявку на Django trac. Обязательно предоставьте полное описание проблемы, используемые версии и укажите компонент «ГИС».

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

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

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

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

A user may set this environment variable to customize the library paths they want to use. The typical library directory for software built from source is /usr/local/lib. Thus, /usr/local/lib needs to be included in the LD_LIBRARY_PATH variable. For example, the user could place the following in their bash profile:

export LD_LIBRARY_PATH=/usr/local/lib

Установка пути к системной библиотеке

On GNU/Linux systems, there is typically a file in /etc/ld.so.conf, which may include additional paths from files in another directory, such as /etc/ld.so.conf.d. As the root user, add the custom library path (like /usr/local/lib) on a new line in ld.so.conf. This is one example of how to do so:

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

For OpenSolaris users, the system library path may be modified using the crle utility. Run crle with no options to see the current configuration and use crle -l to set with the new library path. Be very careful when modifying the system library path:

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

Установите binutils

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

The binutils package may be installed on Debian and Ubuntu systems using the following command:

$ sudo apt-get install binutils

Similarly, on Red Hat and CentOS systems:

$ sudo yum install binutils

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

macOS

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

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

Питон

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

Примечание

You will need to modify the PATH environment variable in your .profile file so that the new version of Python is used when python is entered at the command-line:

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.

Summary:

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

KyngChaos packages

William Kyngesburye provides a number of geospatial library binary packages that help to get GeoDjango installed on macOS without compiling them from source. However, Xcode is still necessary for compiling the Python database adapters psycopg2 (for PostGIS).

Примечание

SpatiaLite users should consult the инструкции для macOS section after installing the packages for additional instructions.

Download the framework packages for:

  • UnixImageIO

  • ПРОДЖ

  • ГЕОС

  • SQLite3 (includes the SpatiaLite library)

  • ГДАЛ

Install the packages in the order they are listed above, as the GDAL and SQLite packages require the packages listed before them.

Afterwards, you can also install the KyngChaos binary packages for PostgreSQL and PostGIS.

After installing the binary packages, you’ll want to add the following to your .profile to be able to run the package programs from the command-line:

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

After you’ve installed the KyngChaos binaries and modified your PATH, as described above, psycopg2 may be installed using the following command:

$ python -m pip install psycopg2

Примечание

If you don’t have pip, follow the installation instructions to install it.

Финк

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

МакПортс

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

Summary:

$ 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

Примечание

You will also have to modify the PATH in your .profile so that the MacPorts programs are accessible from the command-line:

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

In addition, add the DYLD_FALLBACK_LIBRARY_PATH setting so that the libraries can be found by Python:

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

Окна

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

Питон

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

PostgreSQL

Download the latest PostgreSQL 12.x installer from the EnterpriseDB website. After downloading, run the installer, follow the on-screen directions, and keep the default options unless you know the consequences of changing them.

Примечание

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

Когда программа установки завершится, она спросит: «Запустить Stack Builder при выходе?» – оставьте этот флажок, так как необходимо установить ПостГИС.

Примечание

If installed successfully, the PostgreSQL server will run in the background each time the system as started as a Windows service. A PostgreSQL 12 start menu group will created and contains shortcuts for the Application Stack Builder (ASB) as well as the „SQL Shell“, which will launch a psql command window.

ПостГИС

From within the Stack Builder (to run outside of the installer, Start ‣ PostgreSQL 12 ‣ Application Stack Builder), select PostgreSQL 12 (x64) on port 5432 from the drop down menu and click next. Expand the Categories ‣ Spatial Extensions menu tree and select PostGIS X.Y for PostgreSQL 12.

After clicking next, you will be prompted to confirm the selected package and «Download directory». Click next again, this will download PostGIS and you will be asked to click next to begin the PostGIS installer. Select the default options during install. The install process includes three Yes/No dialog boxes, the default option for all three is «No».

ОСГео4В

The OSGeo4W installer helps to install the PROJ, GDAL, and GEOS libraries required by GeoDjango. First, download the OSGeo4W installer (64bit), and run it. Select Express Web-GIS Install and click next. In the „Select Packages“ list, ensure that GDAL is selected; MapServer is also enabled by default, but is not required by GeoDjango and may be unchecked safely. After clicking next and accepting the license agreements, the packages will be automatically downloaded and installed, after which you may exit the installer.

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

Чтобы использовать GeoDjango, вам необходимо добавить каталоги OSGeo4W в «Путь» вашей системы Windows, а также создать переменные среды «GDAL_DATA» и «PROJ_LIB». Следующий набор команд, выполняемых с помощью 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%"

Примечание

This assumes 64bit version of OSGeo4W is installed. If you have installed the 32bit version you will need to change the first command to set OSGEO4W_ROOT=C:\OSGeo4W.

Примечание

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

Примечание

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

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

install Django on your system. It is recommended that you create a virtural environment for each project you create.

psycopg2

The psycopg2 Python module provides the interface between Python and the PostgreSQL database. psycopg2 can be installed via pip within your Python virtual environment:

...\> py -m pip install psycopg2

Сноски

Back to Top