一般来说,geodjango安装需要:
以下各节提供了每个要求和安装说明的详细信息。此外,平台特定的说明可用于:
使用源
由于geodjango利用了最新的开源地理空间软件技术,因此需要最新版本的库。如果您的平台没有二进制软件包,则可能需要从源代码安装。当从源代码处编译库时,请严格遵循说明,特别是如果您是初学者。
因为geodjango包含在django中,请参阅django的 installation instructions 有关如何安装的详细信息。
目前支持的空间数据库有PostgreSQL(带PostGIS)、MySQL、Oracle和SQLite(带SpatiaLite)。
备注
由于PostGIS是最成熟、功能最丰富的开放源码空间数据库,因此推荐使用PostGIS。
geodjango安装所需的地理空间库取决于所使用的空间数据库。以下列出了库要求、支持的版本以及每个支持的数据库后端的任何说明:
数据库 |
类库要求 |
支持的版本 |
笔记 |
---|---|---|---|
《PostgreSQL》 |
GEOS、GDAL、PROJ、Post地理信息系统 |
14+ |
需要Postgis。 |
MySQL |
GEOL |
8.0.11+ |
|
甲骨文公司 |
GEOL |
19+ |
不支持XE。 |
SQLite |
GEOS、GDAL、PROJ、SpatiaLite |
3.31.0+ |
需要SpatiaLite 4.3+ |
也见 `this comparison matrix`_ _在osgeo wiki上查找postgresql/postgis/geos/gdal可能的组合。
DATABASES
配置¶设置 ENGINE
设置为 spatial backends .
django.contrib.gis
到 INSTALLED_APPS
¶像其他Django-Contrib应用程序一样,您将 only 需要添加 django.contrib.gis
到 INSTALLED_APPS
在您的设置中。这是因为 gis
可以找到模板——如果不这样做,那么地理管理或kml站点地图等功能将无法正常工作。
如果你在这里找不到解决问题的方法,那就加入社区吧!你可以:
请在以下位置提问 `GeoDjango`__ 论坛。
在 `Django trac`_ _如果你认为有错误的话。确保提供问题的完整描述、使用的版本,并将组件指定为“GIS”。
到目前为止,安装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
。作为根用户,添加自定义库路径(如 /usr/local/lib
)中的新行 ld.so.conf
。这是 one 如何执行此操作的示例:
$ sudo echo /usr/local/lib >> /etc/ld.so.conf
$ sudo ldconfig
对于OpenSolaris用户,可以使用 crle
实用程序。跑 crle
没有查看当前配置和使用 crle -l
若要使用新的库路径设置,请执行以下操作。vt.是,是 very 修改系统库路径时要小心:
# crle -l $OLD_PATH:/usr/local/lib
binutils
¶geodjango使用 find_library
功能(来自 ctypes.util
python模块)来发现库。这个 find_library
例程使用一个名为 objdump
(部分) binutils
package)验证GNU/Linux系统上的共享库。因此,如果 binutils
如果没有安装在Linux系统上,那么即使库路径设置正确并且地理空间库构建完美,python的ctypes也可能找不到库。
这个 binutils
可以使用以下命令在Debian和Ubuntu系统上安装包:
$ sudo apt-get install binutils
同样,在Red Hat和CentOS系统上:
$ sudo yum install binutils
由于MacOS的包装系统多种多样,用户可以选择安装geodjango。这些选项包括:
Postgres.app (最简单和推荐)
本节还包括安装升级版本的 Python 然而,从Python软件基金会提供的包中,这不是必需的。
虽然MacOS安装了python,但用户可以使用 `framework installers`_ 由Python软件基金会提供。使用安装程序的一个优点是MacOS的python对于内部操作系统的使用仍然是“原始的”。
备注
您将需要修改 PATH
环境变量中的 .profile
文件,以便在以下情况下使用新版本的Python python
在命令行中输入:
export PATH=/Library/Frameworks/Python.framework/Versions/Current/bin:$PATH
Postgres.app 是一个独立的PostgreSQL服务器,包含PostGIS扩展。您还需要安装 gdal
和 libgeoip
具有 Homebrew .
安装postgres.app后,将以下内容添加到 .bash_profile
所以您可以从命令行运行包的程序。替换 X.Y
在postgres.app中安装了postgresql版本:
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/X.Y/bin
您可以通过键入来检查路径设置是否正确。 which psql
在终端提示下。
`Homebrew`__ provides "recipes" for building binaries and packages from source. It provides recipes for the GeoDjango prerequisites on Macintosh computers running macOS. Because Homebrew still builds the software from source, Xcode 是必需的。
摘要:
$ brew install postgresql
$ brew install postgis
$ brew install gdal
$ brew install libgeoip
Kurt Schwehr _已经足够优雅地为用户创建geodjango包 Fink _包装系统。 `Different packages are available`_ _(从 django-gis
,取决于要使用的Python版本。
`MacPorts`__ may be used to install GeoDjango prerequisites on computers running macOS. Because MacPorts still builds the software from source, Xcode 是必需的。
摘要:
$ sudo port install postgresql14-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/postgresql14/bin
此外,添加 DYLD_FALLBACK_LIBRARY_PATH
设置,以便可以通过Python找到这些库:
export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib:/opt/local/lib/postgresql14
请顺序完成以下部分,以便在Windows上安装GeoDjango。在本教程中,我们将安装每个应用程序的64位版本。
安装64位版本的Python。看到 Install Python 了解更多信息。
下载最新版本 `PostgreSQL 15.x installer`__ 从 `EnterpriseDB`__ 网站。下载后,运行安装程序,按照屏幕上的说明操作,并保留默认选项,除非您知道更改它们的后果。
备注
PostgreSQL安装程序创建新的 postgres
数据库超级用户系统会提示您一次设置密码--请务必记住!
当安装程序完成时,它将询问“在退出时启动Stack Builder?“--请检查此内容,因为安装是必要的 PostGIS 。
备注
如果安装成功,每次系统作为Windows服务启动时,PostgreSQL服务器都将在后台运行。一个 psql
命令窗口。
在Stack Builder内(要在安装程序之外运行,
),选择 从下拉菜单中选择,然后单击下一步。扩展 菜单树并选择 。点击“下一步”后,系统将提示您确认所选的程序包和“下载目录”。再次单击下一步,这将下载PostGIS,您将被要求单击下一步开始PostGIS安装程序。在安装过程中选择默认选项。安装过程包括四个Yes/No(是/否)对话框,所有四个对话框的默认选项都是“No”。
这个 OSGeo4W installer 帮助安装GeoDjango所需的项目、GDAL和GEOS库。首先,下载 OSGeo4W installer ,并运行它。选择 然后单击下一步。在‘Select Packages’列表中,确保选择了GDAL。如果默认启用了任何其他包,则GeoDjango不需要它们,并且可以安全地取消选中。单击下一步并接受许可协议后,程序包将自动下载并安装,之后您可以退出安装程序。
为了使用GeoDjango,您需要将OSGo4W目录添加到Windows系统 Path
,以及创建 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%"
备注
执行这些命令需要管理员特权。为此,请以管理员身份运行命令提示符并输入上面的命令。您需要注销并再次登录,设置才能生效。
备注
如果您自定义了OSGo4W安装目录,那么您将需要修改 OSGEO4W_ROOT
相应的变量。
Install Django 在你的系统上。建议您创建一个 virtual environment 对于您创建的每个项目。
这个 psycopg
PYTHON模块提供了PYTHON和PostgreSQL数据库之间的接口。 psycopg
可以通过PIP在您的Python虚拟环境中安装:
...\> py -m pip install psycopg
脚注
7月 22, 2024