Ошибка была: не удалось импортировать имя '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 был легким

Другие вопросы по тегам