我一直在尝试设置Windows计算机,以便可以使用具有PostGIS扩展名的本地postgreSQL。安装此程序后,我希望能够在本地将geodjango创建一个项目,然后再将其放入云中。我已经在使用SQLite DB的本地计算机上与Django一起工作了一段时间,但是由于下一个项目将部分基于基于坐标的数据,因此我想设置正确的环境。
导入说明:我已经安装了迷你康达在单独的环境中运行。我在工作的时候确实激活了这个环境“发展”
我试图在线关注大多数geodjango信息/教程,但无法使其正常工作。我所做的事情(大多遵循此步骤:https : //docs.djangoproject.com/en/2.0/ref/contrib/gis/install/#windows):
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.
我已尝试解决此问题,但似乎无济于事。有人可以帮我在本地设置所有这些吗?
更新7-3-2018:
OSError: [WinError 126] The specified module could not be found
(当.dll存在时…)
我发现以下适用于Windows:
python
C:\OSGeo4W
C:\OSGeo4W64:
settings.py:
import os if os.name == 'nt': import platform OSGEO4W = r"C:\OSGeo4W" if '64' in platform.architecture()[0]: OSGEO4W += "64" assert os.path.isdir(OSGEO4W), "Directory does not exist: " + OSGEO4W os.environ['OSGEO4W_ROOT'] = OSGEO4W os.environ['GDAL_DATA'] = OSGEO4W + r"\share\gdal" os.environ['PROJ_LIB'] = OSGEO4W + r"\share\proj" os.environ['PATH'] = OSGEO4W + r"\bin;" + os.environ['PATH']