我一直在尝试设置Windows计算机,以便可以使用具有PostGIS扩展名的本地postgreSQL。安装此程序后,我希望能够在本地将geodjango创建一个项目,然后再将其放入云中。我已经在使用SQLite DB的本地计算机上使用Django了一段时间,但是由于下一个项目将部分基于基于坐标的数据,因此我想设置正确的环境。
导入说明:我已经安装了mini-conda在单独的环境中运行。 我在工作的时候确实激活了这个环境“发展”
我已尝试在线遵循大多数geodjango信息/教程,但无法使其正常工作。我所做的事情(大部分遵循此步骤:https : //docs.djangoproject.com/en/2.0/ref/contrib/gis/install/#windows):
完成所有这些之后,我创建了一个新的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.
我已尝试解决此问题,但似乎无济于事。有人可以帮我在本地设置所有这些吗?
更新7-3-2018:
现在我得到以下错误:
OSError: [WinError 126] The specified module could not be found
(当.dll存在时…)
我发现以下适用于Windows:
python
C:\OSGeo4W
C:\OSGeo4W64
确保以下内容包含在您的中settings.py:
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’]
运行python manage.py check以验证geodjango是否正常工作。
python manage.py check