Ошибка была: не удалось импортировать имя 'GDALRaster' в Windows 10 для GeoDjango
Я пытаюсь следовать Учебному пособию GeoDjango. Я использую Windows-10 64-битный компьютер. и я использую Python 3.6 и Django 1.11. Для установки я следовал документации GeoDjango Windows. Я успешно выполнил все шаги, которые мне сказали, я также скачал и запустил OSGeo4W и успешно запустил пути в моем cmd.exe как администратор
Теперь вернемся к учебнику по Django
Создать пространственную базу данных: я создал базу данных в своем Postgres Sql
Я запустил проект Django под названием geodjango, Запустил приложение под названием world
Я изменил базу данных в настройках на
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'geodjango',
'USER': 'geo',
},
}
Я добавил ниже в мои settings.py установленные приложения приложения
'django.contrib.gis',
'world',
Я сделал каталог под названием данные в world
приложение. Я скачал 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
Затем учебник просит меня запустить make-миграцию python manage.py, когда я получаю это сообщение об ошибке ниже
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++. и пытался бежать
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`
1 ответ
Попробовав практически все. Я перенес свою ОС из Windows в Linux с Ubuntu 18 (курс Udemy для изучения Ubuntu) через виртуальную коробку, а затем просто сделал
sudo apt установить geos sudo apt установить prog4 sudo apt установить gdal
Установленные postgres sql и pgadmin3 (pg admin 4 на сегодняшний день недоступен для установки на ubuntu) создали базу данных под названием 'geodjango' с помощью pgadmin3, затем sudo apt install postgis
тогда pip установил psycopg2 и dj-database-url
Я бы рекомендовал держаться подальше от методов make & make install, которые занимают слишком много времени и всегда выдают ошибки. После этого урок GeoDjango был легким