繁体   English   中英

配置Postgresql POSTGIS数据库

[英]Configuring a Postgresql POSTGIS database

首先,我是django的新手。 我正在尝试在Django 1.10的POSTGIS数据库中使用GeoLite(GeoIP2)数据集。 当我尝试配置myapp / settings.py文件时,我收到错误消息。django目录中的不同路径中似乎有数据库后端;您能否阐明原因?

  1. django \\ contrib \\ gis \\ db \\ backends \\ postgis
  2. django \\ db \\后端

激活python3虚拟环境后,当我尝试将settings.py文件中的默认数据库设置为postgresql('django.db.backends.postgresql')时,出现错误:

AttributeError:”Database Operations’ object has no attribute ‘geo_db_type’.

当我尝试使用POSTGIS作为数据库引擎时(我在虚拟环境中设置了GDAL_LIBRARY_PATH),出现错误:

django.contrib.gis.db.backends.postgis' is not an available database backend. Try using 'django.db.backends.XXX', where XXX is one of 'mysql', 'oracle', 'postgresql',and 'sqlite'.
Error was: Cannot import name ‘GDALRaster’.

您能否建议上述错误消息的解决方案? 谢谢。

从Christopher Gohlke的站点(32位GDAL-2.0.3-cp35-cp35m-win32.whl)安装了GDAL到虚拟环境中。 下载OSGEO4W(32位)并安装Express Web选件。 创建环境变量。 如下设置环境变量:

设置PYTHON_ROOT = C:\\ Python35-32设置GDAL_DATA = C:\\ Program Files \\ PostgreSQL \\ 9.6 \\ gdal-data设置PROJ_LIB = C:\\ Program Files \\ PostgreSQL \\ 9.6 \\ share \\ contrib \\ postgis \\ proj设置PATH =%PATH %;%PYTHON_ROOT%;%OSGEO4W_ROOT%\\ bin reg添加“ HKLM \\ SYSTEM \\ CurrentControlSet \\ Control \\ Session Manager \\ Environment” / v路径/ t REG_EXPAND_SZ / f / d“%PATH%” reg添加“ 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%”

我还将LD_LIBRARY_PATH设置为C:\\ Python35-32 \\ myvenv_python3 \\ Lib \\ site-packages \\ osgeo。 然后,数据库配置不正确,无法导入'GDALRaster'。从您的django项目目录中,现在可以使用以下命令进行迁移:python manage.py migrate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM