Error was: cannot import name 'GDALRaster in Window 8.1

504 views
Skip to first unread message

Prashant Verma

unread,
Apr 30, 2017, 10:20:01 AM4/30/17
to Django users
C:\User\.........\Desktop\Geolocation>python manage.py makemigrations
Traceback (most recent call last):
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\db\utils.py", line 115, in load_backend
    return import_module('%s.base' % backend_name)
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 677, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\contrib\gis\db\backends\postgis\base.py", line 7, in <module>
    from .operations import PostGISOperations
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\contrib\gis\db\backends\postgis\operations.py", line 7, in <module>
    from django.contrib.gis.gdal import GDALRaster
ImportError: cannot import name 'GDALRaster'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\core\management\__init__.py", line 363, in execute_from_command_line
    utility.execute()
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\core\management\__init__.py", line 337, in execute
    django.setup()
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\apps\registry.py", line 108, in populate
    app_config.import_models()
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\apps\config.py", line 202, in import_models
    self.models_module = import_module(models_module_name)
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 677, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\contrib\auth\models.py", line 4, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\contrib\auth\base_user.py", line 52, in <module>
    class AbstractBaseUser(models.Model):
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\db\models\base.py", line 124, in __new__
    new_class.add_to_class('_meta', Options(meta, app_label))
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\db\models\base.py", line 330, in add_to_class
    value.contribute_to_class(cls, name)
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\db\models\options.py", line 214, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\db\__init__.py", line 33, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\db\utils.py", line 211, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "C:\Users\Prashant\Desktop\Geolocation\casino_locater\lib\site-packages\django\db\utils.py", line 134, in load_backend
    raise ImproperlyConfigured(error_msg)
django.core.exceptions.ImproperlyConfigured: 'django.contrib.gis.db.backends.postgis' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
    'mysql', 'oracle', 'postgresql', 'sqlite3'
Error was: cannot import name 'GDALRaster'

settings.py

Tim Graham

unread,
May 1, 2017, 1:13:23 PM5/1/17
to Django users, daniel....@gmail.com
It looks like GDAL isn't installed on your system.

Looking at https://docs.djangoproject.com/en/stable/ref/contrib/gis/install/#spatial-database, I believe it's a required dependency -- perhaps we should try to improve the error message.

Prashant Verma

unread,
May 3, 2017, 5:22:32 PM5/3/17
to Django users, daniel....@gmail.com
Hey Mate, 

I am trying to get over by this error. Although, It's little complicated to work in the windows environment. 
By the way, I am trying to follow this process https://libregis.org/2011/03/10/how-to-install-and-configure-postgis-raster-on-windows/, however, I am stuck at the raster2pgsql process. 

After run this code : "raster2pgsql.py -r image.tif -t tablename -o image.sql

It has thrown an Error: Could not process -t. 

After that change code : raster2pgsql -s 4236 -I -C -M *.tif -F -t 100x100 public.demelevation > elev.sql 

Error : ERROR: Unable to read raster file: *.tif

Can you please me with? Or should I change my windows environment to ubuntu?

Prashant Verma

unread,
May 4, 2017, 5:15:59 AM5/4/17
to Daniel Wiesmann, django...@googlegroups.com
The error after entered: gdalinfo --version

C:\Users\Prashant>gdalinfo --version
'gdalinfo' is not recognized as an internal or external command,
operable program or batch file.

Though, I have already installed gdal "gdal-201-1800-x64-core" into my system. 

On 4 May 2017 at 14:43, Prashant Verma <verma.pr...@gmail.com> wrote:
The error after entered: gdalinfo --version

C:\Users\Prashant>gdalinfo --version
'gdalinfo' is not recognized as an internal or external command,
operable program or batch file.

Though, I have already installed gdal "gdal-201-1800-x64-core" into my system. 


On 4 May 2017 at 12:48, Daniel Wiesmann <daniel....@gmail.com> wrote:
Your question regarding raster2pgsql has nothing to do with Django, so
please ask questions related to that somewhere else (for instance on
https://gis.stackexchange.com/ )

Regarding your first error, could you share the output of the following
command on your command line:

gdalinfo --version

(just to check if you have gdal installed)

I agree that the above error message is not useful for users that want
to use postgis but dont have gdal installed. Maybe its related to
something else, Postgis itself already requires gdal

http://postgis.net/docs/manual-2.3/postgis_installation.html#install_requirements


On 03-05-2017 22:22, Prashant Verma wrote:
> Hey Mate,
>
> I am trying to get over by this error. Although, It's little complicated
> to work in the windows environment.
> By the way, I am trying to follow this process
> https://libregis.org/2011/03/10/how-to-install-and-configure-postgis-raster-on-windows/,
> however, I am stuck at the raster2pgsql process.
>
> After run this code : "raster2pgsql.py -r image.tif-t tablename -o

> image.sql"
>
> It has thrown an Error: Could not process -t.
>
> After that change code : raster2pgsql -s 4236 -I -C -M *.tif -F -t
> 100x100 public.demelevation > elev.sql
>
> Error : ERROR: Unable to read raster file: *.tif
>
> Can you please me with? Or should I change my windows environment to ubuntu?
>
> On Monday, 1 May 2017 22:43:23 UTC+5:30, Tim Graham wrote:
>
>     It looks like GDAL isn't installed on your system.
>
>     Looking at
>     https://docs.djangoproject.com/en/stable/ref/contrib/gis/install/#spatial-database

>     I believe it's a required dependency -- perhaps we should try to
>     improve the error message.
>
>     On Sunday, April 30, 2017 at 10:20:01 AM UTC-4, Prashant Verma wrote:
>
>         C:\User\.........\Desktop\Geolocation>*python manage.py
>         makemigrations*

Prashant Verma

unread,
May 4, 2017, 7:30:14 AM5/4/17
to Daniel Wiesmann, django...@googlegroups.com
I have installed it now. But It's showing some error: Can you tell me what is this? How can I able to fix this? 

C:\Users\Prashant>gdalinfo --version
ERROR 1: Can't load requested DLL: C:\Program Files\GDAL\gdalplugins\ogr_MSSQLSp
atial.dll
126: The specified module could not be found.

ERROR 1: Can't load requested DLL: C:\Program Files\GDAL\gdalplugins\ogr_MSSQLSp
atial.dll
126: The specified module could not be found.

GDAL 2.1.3, released 2017/20/01

Prashant Verma

unread,
May 4, 2017, 7:30:28 AM5/4/17
to Django users
I have installed it now. But It's showing some error: Can you tell me what is this? How can I able to fix this? 

C:\Users\Prashant>gdalinfo --version
ERROR 1: Can't load requested DLL: C:\Program Files\GDAL\gdalplugins\ogr_MSSQLSp
atial.dll
126: The specified module could not be found.

ERROR 1: Can't load requested DLL: C:\Program Files\GDAL\gdalplugins\ogr_MSSQLSp
atial.dll
126: The specified module could not be found.

GDAL 2.1.3, released 2017/20/01

Daniel Wiesmann

unread,
May 4, 2017, 3:13:36 PM5/4/17
to Django users
Your question regarding raster2pgsql has nothing to do with Django, so please ask questions related to that somewhere else (for instance on
https://gis.stackexchange.com/
 )

Regarding your first error, could you share the output of the following command on your command line:

gdalinfo --version

(just to check if you have gdal installed)

I agree that the above error message is not useful for users that want to use postgis but dont have gdal installed. Maybe its related to the gdal path or something else. GDAL should be installed as postgis itself already requires gdal.

http://postgis.net/docs/manual-2.3/postgis_installation.html#install_requirements

Prashant Verma

unread,
May 5, 2017, 8:58:01 AM5/5/17
to Django users
I have installed it now. But It's showing some error with version. Can you tell me what is this? How can I able to fix this? 

C:\Users\Prashant>gdalinfo --version
ERROR 1: Can't load requested DLL: C:\Program Files\GDAL\gdalplugins\ogr_MSSQLSp
atial.dll
126: The specified module could not be found.

ERROR 1: Can't load requested DLL: C:\Program Files\GDAL\gdalplugins\ogr_MSSQLSp
atial.dll
126: The specified module could not be found.

GDAL 2.1.3, released 2017/20/01

Prashant Verma

unread,
May 5, 2017, 2:32:45 PM5/5/17
to Django users
Only for window users: 

Follow the below steps to install gdal into the window environment:

Step 1: Install OSGeo4W

The OSGeo4W installer makes it simple to install the PROJ.4, GDAL, and GEOS libraries required by GeoDjango. First, download the OSGeo4W installer, and run it. Select Express Web-GIS Install and click next. In the ‘Select Packages’ list, ensure that GDAL is selected; MapServer and Apache are also enabled by default, but are not required by GeoDjango and may be unchecked safely. After clicking next, the packages will be automatically downloaded and installed, after which you may exit the installer.


Step 2: Modify Windows environment

In order to use GeoDjango, you will need to add your Python and OSGeo4W directories to your Windows system Path, as well as create GDAL_DATA and PROJ_LIB environment variables. The following set of commands, executable with cmd.exe, will set this up:

set OSGEO4W_ROOT=C:\OSGeo4W
set PYTHON_ROOT=C:\Python27
set GDAL_DATA=%OSGEO4W_ROOT%\share\gdal
set PROJ_LIB=%OSGEO4W_ROOT%\share\proj
set PATH=%PATH%;%PYTHON_ROOT%;%OSGEO4W_ROOT%\bin
reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /f /d "%PATH%"
reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v GDAL_DATA /t REG_EXPAND_SZ /f /d "%GDAL_DATA%"
reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROJ_LIB /t REG_EXPAND_SZ /f /d "%PROJ_LIB%"

Copy the above script into notepad or any editor and save the file name by geodjango_setup.bat

Note: 1 

Administrator privileges are required to execute these commands. To do this, right-click on geodjango_setup.bat and select Run as administrator. You need to log out and log back in again for the settings to take effect.

Note: 2

If you customised the Python or OSGeo4W installation directories, then you will need to modify the OSGEO4W_ROOT and/or PYTHON_ROOT variables accordingly. 

Reply all
Reply to author
Forward
0 new messages