0

When I run python manage.py makemigrations the following error occurs:

OSError: [WinError 126] The specified module could not be found

Full traceback:

(py35_64) E:\Ahas\GEODJANGO\geodjango>python manage.py makemigrations

Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\core\management\__init__.py", line 371, in execute_from_command_line
    utility.execute()
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\core\management\__init__.py", line 347, in execute
    django.setup()
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\apps\registry.py", line 112, in populate
    app_config.import_models()
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\apps\config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "C:\Anaconda2\envs\py35_64\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 985, in _gcd_import
  File "<frozen importlib._bootstrap>", line 968, in _find_and_load
  File "<frozen importlib._bootstrap>", line 957, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 697, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\contrib\auth\models.py", line 2, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\contrib\auth\base_user.py", line 47, in <module>
    class AbstractBaseUser(models.Model):
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\db\models\base.py", line 114, in __new__
    new_class.add_to_class('_meta', Options(meta, app_label))
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\db\models\base.py", line 315, in add_to_class
    value.contribute_to_class(cls, name)
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\db\models\options.py", line 205, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\db\__init__.py", line 33, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\db\utils.py", line 202, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\db\utils.py", line 110, in load_backend
    return import_module('%s.base' % backend_name)
  File "C:\Anaconda2\envs\py35_64\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\contrib\gis\db\backends\postgis\base.py", line 6, in <module>
    from .features import DatabaseFeatures
  File "C:\Anaconda2\envs\py35_64\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:\Anaconda2\envs\py35_64\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:\Anaconda2\envs\py35_64\lib\site-packages\django\contrib\gis\db\models\__init__.py", line 3, in <module>
    import django.contrib.gis.db.models.functions  # NOQA
  File "C:\Anaconda2\envs\py35_64\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:\Anaconda2\envs\py35_64\lib\site-packages\django\contrib\gis\db\models\fields.py", line 3, in <module>
    from django.contrib.gis import forms, gdal
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\contrib\gis\forms\__init__.py", line 3, in <module>
    from .fields import (  # NOQA
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\contrib\gis\forms\fields.py", line 2, in <module>
    from django.contrib.gis.geos import GEOSException, GEOSGeometry
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\contrib\gis\geos\__init__.py", line 5, in <module>
    from .collections import (  # NOQA
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\contrib\gis\geos\collections.py", line 9, in <module>
    from django.contrib.gis.geos.geometry import GEOSGeometry, LinearGeometryMixin
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\contrib\gis\geos\geometry.py", line 8, in <module>
    from django.contrib.gis import gdal
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\contrib\gis\gdal\__init__.py", line 28, in <module>
    from django.contrib.gis.gdal.datasource import DataSource
  File "C:\Anaconda2\envs\py35_64\lib\site-packages\django\contrib\gis\gdal\datasource.py", line 39, in <module>
    from django.contrib.gis.gdal.driver import Driver
  File "C:\Anaconda2\envs\py35_64\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:\Anaconda2\envs\py35_64\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:\Anaconda2\envs\py35_64\lib\site-packages\django\contrib\gis\gdal\libgdal.py", line 48, in <module>
    lgdal = CDLL(lib_path)
  File "C:\Anaconda2\envs\py35_64\lib\ctypes\__init__.py", line 351, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found

My models.py looks like the following:

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):
        return self.name

Also, I think there is a problem with my Postgis installation, but don't know where to begin. I followed the instructions for installing geodjango from https://docs.djangoproject.com/en/2.0/ref/contrib/gis/install/#windows. But failed to install postgis using Stack Builder. So I installed it using an installer from https://download.osgeo.org/postgis/windows/pg96/.

My PostgreSQL version is 9.6. and I'm using a conda environment.

Udi
  • 29,222
  • 9
  • 96
  • 129
  • The error is coming from gdal. Did you install it using `OSGeo4W` as those docs suggest? – Alasdair Mar 05 '18 at 15:56
  • 1
    Please have a look at https://stackoverflow.com/help/how-to-ask. Especially the section about the title of your question and the section about introducing the problem before posting any code. This way it will be easier for ppl here on SO to help you. – NOhs Mar 05 '18 at 15:57
  • Thank you. Sorry, I just signed up for an account, and new to this. – EleanorShellstrop Mar 05 '18 at 16:23
  • I installed gdal from OSGeo4W – EleanorShellstrop Mar 05 '18 at 16:23
  • I think your issue might be related to the fact that you're using conda - I don't use Windows or conda so can't give any specific advice, but it might be worth searching *gdal conda* and having a look at the results. – Alasdair Mar 05 '18 at 16:46
  • Possible duplicate of [GeoDjango on Windows: "Could not find the GDAL library"](https://stackoverflow.com/questions/49139044/geodjango-on-windows-could-not-find-the-gdal-library) – Udi Mar 18 '18 at 18:07

0 Answers0