Frojd / wagtail-geo-widget

Wagtail-Geo-Widget is the complete map solution for your Wagtail site.
MIT License
137 stars 37 forks source link

Django 1.11 compatibility #13

Closed kakulukia closed 7 years ago

kakulukia commented 7 years ago

I just updated to Django 1.11.1 (from 1.10.7) and although the project and the geo widget was working fine before, it now complain on startup about:

django.contrib.gis.gdal.error.GDALException: Could not find the GDAL library (tried "gdal", "GDAL", "gdal1.11.0", "gdal1.10.0", "gdal1.9.0", "gdal1.8.0", "gdal1.7.0"). Try setting GDAL_LIBRARY_PATH in your settings.

The problem arises on startup while importing the GeoPanel in my homepage model. I dont think i actually need GDAL (and dont want to install it) since it works fine when downgrading Django again, but something changed resulting in the need of GDAL in the new Django version. Do you know what happened? Is it actually caused by the geo widget or did some Django internals change so that i actually need to install GDAL tho im not using it?

marteinn commented 7 years ago

Hi @kakulukia and thanks for the bug report! I will do some django 1.11 tests and get back to you. Although the package was originally written as a pure spatial library (hence the gdal requirement), but since the introduction of the charfield/streamfield widget this is no longer the case, so this definitely sounds like a bug to me. To be continued!

marteinn commented 7 years ago

Hi again @kakulukia! I just pushed up a new release that should solve this issue. Please give it a try.

kakulukia commented 7 years ago

well, updating my packages i also noticed that this has been fixed in the latest Django 1.11.1 patch https://docs.djangoproject.com/en/1.11/releases/1.11.1/ The second to last entry mentions GDAL errors ..

marteinn commented 7 years ago

@kakulukia Yep! The change introduced in 1.11 is that exceptions are raised even if geodjango are imported (but not used). When it comes to the patch, the problem was that it raised GDALException, which comes from geodjango and made it impossible to except without gdal... the patch raises ImproperlyConfigured instead, that is possible to except.