Re: [Django] #28160: Can't start with django.contrib.gis.gdal.HAS_GDAL = False due to ImportError of GDALRaster

2017-05-02 Thread Django
#28160: Can't start with django.contrib.gis.gdal.HAS_GDAL = False due to
ImportError of GDALRaster
-+-
 Reporter:  Tom Kazimiers|Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  GIS  |  Version:  1.10
 Severity:  Normal   |   Resolution:
 Keywords:  GIS, GDAL, Contrib,  | Triage Stage:  Accepted
  Bug|
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-

Comment (by Tom Kazimiers):

 I see, thanks for the pointer to the Django 1.11 release notes that make
 clear GDAL is required from 1.11 on to use `django.contrib.gis`. This
 makes fixing the `HAS_GDAL = False` issue maybe not really worth it (given
 that one can work around it) and I better figure out why using GDAL breaks
 TIFF support in `pgmagick` (at least for me on Ubuntu). Fixing the
 swallowed exception would be nice though.

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/063.2a2363cfea500652d694ce9195403866%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28160: Can't start with django.contrib.gis.gdal.HAS_GDAL = False due to ImportError of GDALRaster

2017-05-02 Thread Django
#28160: Can't start with django.contrib.gis.gdal.HAS_GDAL = False due to
ImportError of GDALRaster
-+-
 Reporter:  Tom Kazimiers|Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  GIS  |  Version:  1.10
 Severity:  Normal   |   Resolution:
 Keywords:  GIS, GDAL, Contrib,  | Triage Stage:  Accepted
  Bug|
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Claude Paroz):

 * stage:  Unreviewed => Accepted


Comment:

 In Django 1.11, GDAL is now mandatory in order to use `django.contrib.gis`
 (read https://docs.djangoproject.com/en/1.11/releases/1.11/#id1).
 However, somewhere in the code, the import exception is swallowed, which
 isn't nice at all. There should be at least a clear message that GDAL
 cannot be imported.

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/063.2e97b301dd995eb2c33f1ce36da2ca31%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #28160: Can't start with django.contrib.gis.gdal.HAS_GDAL = False due to ImportError of GDALRaster

2017-05-01 Thread Django
#28160: Can't start with django.contrib.gis.gdal.HAS_GDAL = False due to
ImportError of GDALRaster
-+-
 Reporter:  Tom Kazimiers|Owner:  nobody
 Type:  Bug  |   Status:  new
Component:  GIS  |  Version:  1.10
 Severity:  Normal   |   Resolution:
 Keywords:  GIS, GDAL, Contrib,  | Triage Stage:
  Bug|  Unreviewed
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-

Old description:

> Under some circumstances `django.contrib.gis.gdal.HAS_GDAL` is `False`.
> This can be due to not having GDAL installed in the first place or by
> overriding one's OS name (and thereby causing the test in
> `django.contrib.gis.gdal.__init__.py` to result in an exception which in
> turns causes `HAS_GDAL = False`).¹
>

> Now with `HAS_GDAL = False`, I can't start Django anymore (neither the
> shell or any other command), because I get the following error:
> {{{
> django.core.exceptions.ImproperlyConfigured: 'postgresql' isn't an
> available database backend.
> Try using 'django.db.backends.XXX', where XXX is one of:
> 'mysql', 'oracle', 'postgresql', 'sqlite3'
> Error was: No module named postgresql.base
> }}}
>
> Digging a bit deeper into this reveals this is actually an ImportError:
> `Error was: cannot import name GDALRaster`. Using other
> `django.contrib.gis` functionality should also work without GDAL (and did
> so in the past).
>
> The problem seems to be that in commit
> `bbfad84dd980a97174c3b061a3d1b5f1373c380d`
> ([https://github.com/django/django/commit/bbfad84dd980a97174c3b061a3d1b5f1373c380d
> #diff-9501b5a77c1985430f52d03aedb3e434R7 here]) a new import has been
> added to `django/contrib/gis/db/backends/postgis/operations.py`, which
> tries to import `GDALRaster`: `from django.contrib.gis.gdal import
> GDALRaster`. This of course fails with `HAS_GDAL = False`, because
> `GDALRaster` has never been defined when `HAS_GDAL` was set false due to
> an (expected) exception in `django/django/contrib/gis/gdal/libgdal.py`,
> which is imported before `from django.contrib.gis.gdal.raster.source
> import GDALRaster` in `django/django/contrib/gis/gdal/__init__.py`.
>
> So maybe the import in
> `django/contrib/gis/db/backends/postgis/operations.py` and the use of
> `GDALRaster` should be conditional and only run if `HAS_GDAL = True`. I
> can provide a patch if wanted.
>
> This is a problem in both Django 1.10 and 1.11.
>
> ¹ In my project I need to do the latter to disable GDAL support
> completely, because loading the library conflicts with `pgmagick` on
> Ubuntu and there is no other way to disable GDAL, but this shouldn't
> matter here. It would be nice though to have a way to force `HAS_GDAL =
> False`, because unlike said in
> `django/django/contrib/gis/gdal/__init__.py`, setting
> `GDAL_LIBRARY_PATH='/null/path'` doesn't work (the automatic OS checks
> override this).

New description:

 Under some circumstances `django.contrib.gis.gdal.HAS_GDAL` is `False`.
 This can be due to not having GDAL installed in the first place or by
 overriding one's OS name (and thereby causing the test in
 `django.contrib.gis.gdal.__init__.py` to result in an exception which in
 turns causes `HAS_GDAL = False`).¹


 Now with `HAS_GDAL = False`, I can't start Django anymore (neither the
 shell or any other command), because I get the following error:
 {{{
 django.core.exceptions.ImproperlyConfigured: 'postgresql' isn't an
 available database backend.
 Try using 'django.db.backends.XXX', where XXX is one of:
 'mysql', 'oracle', 'postgresql', 'sqlite3'
 Error was: No module named postgresql.base
 }}}

 Digging a bit deeper into this reveals this is actually an ImportError:
 `Error was: cannot import name GDALRaster`. Using other
 `django.contrib.gis` functionality should also work without GDAL (and did
 so in the past).

 The problem seems to be that in commit
 `bbfad84dd980a97174c3b061a3d1b5f1373c380d`
 
([https://github.com/django/django/commit/bbfad84dd980a97174c3b061a3d1b5f1373c380d
 #diff-9501b5a77c1985430f52d03aedb3e434R7 here]) a new import has been
 added to `django/contrib/gis/db/backends/postgis/operations.py`, which
 tries to import `GDALRaster`: `from django.contrib.gis.gdal import
 GDALRaster`. This of course fails with `HAS_GDAL = False`, because
 `GDALRaster` has never been defined when `HAS_GDAL` was set false due to
 an (expected) exception in `django/django/contrib/gis/gdal/libgdal.py`,
 which is imported before `from django.contrib.gis.gdal.raster.source
 import GDALRaster` in `django/django/contrib/gis/gdal/__init__.py`.

 So maybe the import 

[Django] #28160: Can't start with django.contrib.gis.gdal.HAS_GDAL = False due to ImportError of GDALRaster

2017-05-01 Thread Django
#28160: Can't start with django.contrib.gis.gdal.HAS_GDAL = False due to
ImportError of GDALRaster
-+-
   Reporter:  Tom|  Owner:  nobody
  Kazimiers  |
   Type:  Bug| Status:  new
  Component:  GIS|Version:  1.10
   Severity:  Normal |   Keywords:  GIS, GDAL, Contrib,
   Triage Stage: |  Bug
  Unreviewed |  Has patch:  0
Needs documentation:  0  |Needs tests:  0
Patch needs improvement:  0  |  Easy pickings:  0
  UI/UX:  0  |
-+-
 Under some circumstances `django.contrib.gis.gdal.HAS_GDAL` is `False`.
 This can be due to not having GDAL installed in the first place or by
 overriding one's OS name (and thereby causing the test in
 `django.contrib.gis.gdal.__init__.py` to result in an exception which in
 turns causes `HAS_GDAL = False`).¹


 Now with `HAS_GDAL = False`, I can't start Django anymore (neither the
 shell or any other command), because I get the following error:
 {{{
 django.core.exceptions.ImproperlyConfigured: 'postgresql' isn't an
 available database backend.
 Try using 'django.db.backends.XXX', where XXX is one of:
 'mysql', 'oracle', 'postgresql', 'sqlite3'
 Error was: No module named postgresql.base
 }}}

 Digging a bit deeper into this reveals this is actually an ImportError:
 `Error was: cannot import name GDALRaster`. Using other
 `django.contrib.gis` functionality should also work without GDAL (and did
 so in the past).

 The problem seems to be that in commit
 `bbfad84dd980a97174c3b061a3d1b5f1373c380d`
 
([https://github.com/django/django/commit/bbfad84dd980a97174c3b061a3d1b5f1373c380d
 #diff-9501b5a77c1985430f52d03aedb3e434R7 here]) a new import has been
 added to `django/contrib/gis/db/backends/postgis/operations.py`, which
 tries to import `GDALRaster`: `from django.contrib.gis.gdal import
 GDALRaster`. This of course fails with `HAS_GDAL = False`, because
 `GDALRaster` has never been defined when `HAS_GDAL` was set false due to
 an (expected) exception in `django/django/contrib/gis/gdal/libgdal.py`,
 which is imported before `from django.contrib.gis.gdal.raster.source
 import GDALRaster` in `django/django/contrib/gis/gdal/__init__.py`.

 So maybe the import in
 `django/contrib/gis/db/backends/postgis/operations.py` and the use of
 `GDALRaster` should be conditional and only run if `HAS_GDAL = True`. I
 can provide a patch if wanted.

 This is a problem in both Django 1.10 and 1.11.

 ¹ In my project I need to do the latter to disable GDAL support
 completely, because loading the library conflicts with `pgmagick` on
 Ubuntu and there is no other way to disable GDAL, but this shouldn't
 matter here. It would be nice though to have a way to force `HAS_GDAL =
 False`, because unlike said in
 `django/django/contrib/gis/gdal/__init__.py`, setting
 `GDAL_LIBRARY_PATH='/null/path'` doesn't work (the automatic OS checks
 override this).

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/048.8c553e48891ed29b0fc020ce214521ac%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.