2

I have installed Python 3.7 (64 bit version) and added it to PATH variable:

C:\Python37

After that, I installed and activated virtualenv via:

pip install virtualenv
env\Scripts\activate

Inside virtual env, I installed Django with:

python -m pip install Django

After that, I downloaded GDAL wheel file from: https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal

This version: GDAL‑2.4.1‑cp37‑cp37m‑win_amd64.whl And numpy: numpy-1.16.6+mkl-cp37-cp37m-win_amd64.whl

I installed it with:

pip install GDAL‑2.4.1‑cp37‑cp37m‑win_amd64.whl
pip install numpy-1.16.6+mkl-cp37-cp37m-win_amd64.whl

Also, I added GDAL_DATA environment variable.

I can now import gdal in python console like this:

from osgeo import gdal

When I initialize Django project in this virtual environment and run:

python manage.py check

I get the following error:

(env) C:\Users\marin\Documents\Tutoriali\Django\nearbyshops2>python manage.py check
Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\core\management\__init__.py", line 377, in execute
    django.setup()
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\apps\registry.py", line 114, in populate
    app_config.import_models()
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\apps\config.py", line 211, in import_models
    self.models_module = import_module(models_module_name)
  File "c:\python37\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\auth\models.py", line 2, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\auth\base_user.py", line 47, in <module>
    class AbstractBaseUser(models.Model):
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\db\models\base.py", line 121, in __new__
    new_class.add_to_class('_meta', Options(meta, app_label))
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\db\models\base.py", line 325, in add_to_class
    value.contribute_to_class(cls, name)
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\db\models\options.py", line 208, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\db\__init__.py", line 28, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\db\utils.py", line 207, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\db\utils.py", line 111, in load_backend
    return import_module('%s.base' % backend_name)
  File "c:\python37\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\db\backends\postgis\base.py", line 6, in <module>
    from .features import DatabaseFeatures
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\db\backends\postgis\features.py", line 1, in <module>
    from django.contrib.gis.db.backends.base.features import BaseSpatialFeatures
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\db\backends\base\features.py", line 3, in <module>
    from django.contrib.gis.db.models import aggregates
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\db\models\__init__.py", line 3, in <module>
    import django.contrib.gis.db.models.functions  # NOQA
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\db\models\functions.py", line 3, in <module>
    from django.contrib.gis.db.models.fields import BaseSpatialField, GeometryField
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\db\models\fields.py", line 3, in <module>
    from django.contrib.gis import forms, gdal
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\forms\__init__.py", line 3, in <module>
    from .fields import (  # NOQA
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\forms\fields.py", line 2, in <module>
    from django.contrib.gis.gdal import GDALException
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\gdal\__init__.py", line 28, in <module>
    from django.contrib.gis.gdal.datasource import DataSource
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\gdal\datasource.py", line 39, in <module>
    from django.contrib.gis.gdal.driver import Driver
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\gdal\driver.py", line 5, in <module>
    from django.contrib.gis.gdal.prototypes import ds as vcapi, raster as rcapi
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\gdal\prototypes\ds.py", line 9, in <module>
    from django.contrib.gis.gdal.libgdal import GDAL_VERSION, lgdal
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\gdal\libgdal.py", line 42, in <module>
    % '", "'.join(lib_names)
django.core.exceptions.ImproperlyConfigured: Could not find the GDAL library (tried "gdal204", "gdal203", "gdal202", "gdal201", "gdal20"). Is GDAL installed? If it is, try setting GDAL_LIBRARY_PATH in your settings.

Why is it so?

P.S.

I tried adding GDAL_LIBRARY_PATH = 'C:/Users/marin/Documents/Tutoriali/Django/nearbyshops/env/Lib/site-packages/osgeo' to settings.py

Then I get the following error:

(env) C:\Users\marin\Documents\Tutoriali\Django\nearbyshops>python manage.py check
Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\core\management\__init__.py", line 377, in execute
    django.setup()
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\apps\registry.py", line 114, in populate
    app_config.import_models()
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\apps\config.py", line 211, in import_models
    self.models_module = import_module(models_module_name)
  File "c:\python37\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\auth\models.py", line 2, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\auth\base_user.py", line 47, in <module>
    class AbstractBaseUser(models.Model):
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\db\models\base.py", line 121, in __new__
    new_class.add_to_class('_meta', Options(meta, app_label))
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\db\models\base.py", line 325, in add_to_class
    value.contribute_to_class(cls, name)
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\db\models\options.py", line 208, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\db\__init__.py", line 28, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\db\utils.py", line 207, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\db\utils.py", line 111, in load_backend
    return import_module('%s.base' % backend_name)
  File "c:\python37\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\db\backends\postgis\base.py", line 6, in <module>
    from .features import DatabaseFeatures
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\db\backends\postgis\features.py", line 1, in <module>
    from django.contrib.gis.db.backends.base.features import BaseSpatialFeatures
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\db\backends\base\features.py", line 3, in <module>
    from django.contrib.gis.db.models import aggregates
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\db\models\__init__.py", line 3, in <module>
    import django.contrib.gis.db.models.functions  # NOQA
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\db\models\functions.py", line 3, in <module>
    from django.contrib.gis.db.models.fields import BaseSpatialField, GeometryField
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\db\models\fields.py", line 3, in <module>
    from django.contrib.gis import forms, gdal
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\forms\__init__.py", line 3, in <module>
    from .fields import (  # NOQA
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\forms\fields.py", line 2, in <module>
    from django.contrib.gis.gdal import GDALException
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\gdal\__init__.py", line 28, in <module>
    from django.contrib.gis.gdal.datasource import DataSource
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\gdal\datasource.py", line 39, in <module>
    from django.contrib.gis.gdal.driver import Driver
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\gdal\driver.py", line 5, in <module>
    from django.contrib.gis.gdal.prototypes import ds as vcapi, raster as rcapi
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\gdal\prototypes\ds.py", line 9, in <module>
    from django.contrib.gis.gdal.libgdal import GDAL_VERSION, lgdal
  File "C:\Users\marin\Documents\Tutoriali\Django\nearbyshops\env\lib\site-packages\django\contrib\gis\gdal\libgdal.py", line 46, in <module>
    lgdal = CDLL(lib_path)
  File "c:\python37\lib\ctypes\__init__.py", line 364, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found
1
  • Was this ever solved? I have the same issue. :(
    – Cary H
    Commented Apr 25 at 20:34

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.