我一直在尝试设置我的 Windows 计算机,以便我可以拥有带有 PostGIS 扩展的本地 postgreSQL。安装后,我希望能够在将其放入云之前在本地使用 geodjango 创建一个项目。我已经在本地计算机上使用 SQLite DB 使用 Django 一段时间了,但由于下一个项目将部分基于基于坐标的数据,我想设置正确的环境。
导入注意事项:我已经安装了 miniconda 以在单独的环境中运行。当我工作时,我确实激活了这个环境“开发”
我尝试遵循大部分 geodjango 在线信息/教程,但无法使其正常工作。我所做的(主要是这样的:https://docs.djangoproject.com/en/2.0/ref/contrib/gis/install/#windows):
- 从以下位置下载并安装最新的 (10.3) PostgreSQL 安装程序https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
- 安装后我还安装了使用应用程序堆栈生成器来安装 PostGis
- 我已经安装了 OSGeo4Whttps://trac.osgeo.org/osgeo4w/
- 我已经创建了一个批处理脚本,如 geodjango 网站上所述(https://docs.djangoproject.com/en/2.0/ref/contrib/gis/install/#windows)并以管理员身份运行它(除了设置 python 路径的部分,因为 python 已经在那里了,因为我已经使用 python 一段时间了)
- 我在 psql shell 中尝试了一些命令,我想我已经创建了一个数据库,名称为:geodjango,用户名:**** 并通过:****。
- 我不知道我是否已授予 geodjango 用户所有权限,但我怀疑是这样。
在完成所有这些之后,我创建了一个新的 django 项目,并在 settings.py 中添加了一些部分:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.gis',
'nameOfMyApp',
]
我也在settings.py中得到了这个:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'geodjango',
'USER': '****',
'PASSWORD': '****',
'HOST': 'localhost',
}
}
# FOR GEODJANGO
POSTGIS_VERSION = (2, 4, 3)
当我尝试在 django 中设置数据库时,我运行(在正确的文件夹中):
python manage.py makemigrations
我收到以下错误:
django.core.exceptions.ImproperlyConfigured: Could not find the GDAL library (tried "gdal202", "gdal201", "gdal20", "gdal111", "gdal110", "gdal19"). Is GDAL installed? If it is, try setting GDAL_LIBRARY_PATH in your settings.
我试图解决这个问题,但似乎没有任何效果。
有人可以帮我在本地设置这一切吗?
2018 年 7 月 3 日更新:
- 我尝试过自己手动安装 GDAL(来自:通用核心组件)
- 我已经安装了(我假设是)Python 绑定https://www.lfd.uci.edu/~gohlke/pythonlibs/。我仍然遇到同样的错误。
- 我还尝试将 GDAL_LIBRARY_PATH 设置为 GDAL 目录或 gdal-data 目录(驻留在 GDAL 目录中)。
现在我收到以下错误:
OSError: [WinError 126] The specified module could not be found
(虽然 .dll 在那里......)