我正在尝试遵循 GeoDjango 教程。我正在使用 Windows-10 64 位计算机。我正在使用 Python 3.6 和 Django 1.11 我按照 GeoDjango Windows 文档 进行安装。我已经成功完成了它告诉我的所有步骤,我还下载并运行了 OSGeo4W,并以管理员身份成功运行了 cmd.exe 中的路径
现在回到Django 教程
创建空间数据库:我在我的 Postgres Sql 中创建了一个数据库
我启动了一个名为geodjango的 Django 项目,启动了一个名为world的应用程序
我将设置中的数据库更改为
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'geodjango',
'USER': 'geo',
},
}
我在我的 settings.py 安装的应用程序中添加了以下内容
'django.contrib.gis',
'world',
我在world
应用程序中创建了一个名为 data 的目录。我下载了 zip 文件并将其解压缩到我的数据文件夹中。我的数据文件夹中有以下文件
使用 ogrinfo 来检查空间数据(我不知道在这里做什么,所以我忽略了这部分)
我成功地制作了models.py,就像教程中所说的那样
from django.contrib.gis.db import models
class WorldBorder(models.Model):
# Regular Django fields corresponding to the attributes in the
# world borders shapefile.
name = models.CharField(max_length=50)
area = models.IntegerField()
pop2005 = models.IntegerField('Population 2005')
fips = models.CharField('FIPS Code', max_length=2)
iso2 = models.CharField('2 Digit ISO', max_length=2)
iso3 = models.CharField('3 Digit ISO', max_length=3)
un = models.IntegerField('United Nations Code')
region = models.IntegerField('Region Code')
subregion = models.IntegerField('Sub-Region Code')
lon = models.FloatField()
lat = models.FloatField()
# GeoDjango-specific: a geometry field (MultiPolygonField)
mpoly = models.MultiPolygonField()
# Returns the string representation of the model.
def __str__(self): # __unicode__ on Python 2
return self.name
然后教程要求我运行 python manage.py makemigrations 当我这样做时,我得到以下错误
Error was: cannot import name 'GDALRaster'
我能做些什么来解决这个错误
我试过了
pip install gdal
这给了我一个错误
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
所以我下载了 Microsoft Visual C++ Build Tools。并试图运行
pip install gdal
再次现在我得到错误
`error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.14.26428\\bin\\HostX86\\x64\\cl.exe' failed with exit statu
s 2`