[GRASS-dev] [GRASS GIS] #2067: PyGRASS grid calls g.region at import time
GRASS GIS
trac at osgeo.org
Sun Sep 1 01:29:09 PDT 2013
#2067: PyGRASS grid calls g.region at import time
-----------------------------------------------------------------------------------+
Reporter: huhabla | Owner: grass-dev@…
Type: defect | Status: new
Priority: normal | Milestone: 7.0.0
Component: Python | Version: svn-trunk
Keywords: PyGRASS, Grid, Python, temporal framework, t.remove, t.rast.neighbors | Platform: MSWindows 7
Cpu: Unspecified |
-----------------------------------------------------------------------------------+
There is an issue in pygrass that prevent the compilation of the temporal
framework on windows[1,2]. The issue appears while importing
grass.pygrass.modules.grid.grid. While import a new Module instance is
created for g.region.
IMHO its not a good decision to call a grass module directly on import. I
would suggest to create a Module variable in GridModule that is only once
created at the construction of the first GridModule object in a process
(singleton).
[1] http://wingrass.fsv.cvut.cz/grass70/logs/log-r57559-690/error.log
[2]
{{{
Traceback (most recent call last):
File "c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-
mingw32/scripts/t.remove.py", line 58, in <module>
import grass.pygrass.modules as pyg
File "c:\osgeo4w\usr\src\grass_trunk\dist.i686-pc-
mingw32\etc\python\grass\pygrass\__init__.py", line 17, in <module>
import modules
File "c:\osgeo4w\usr\src\grass_trunk\dist.i686-pc-
mingw32\etc\python\grass\pygrass\modules\__init__.py", line 11, in
<module>
import grid
File "c:\osgeo4w\usr\src\grass_trunk\dist.i686-pc-
mingw32\etc\python\grass\pygrass\modules\grid\__init__.py", line 9, in
<module>
import grid
File "c:\osgeo4w\usr\src\grass_trunk\dist.i686-pc-
mingw32\etc\python\grass\pygrass\modules\grid\grid.py", line 23, in
<module>
_GREG = Module('g.region')
File "c:\osgeo4w\usr\src\grass_trunk\dist.i686-pc-
mingw32\etc\python\grass\pygrass\modules\interface\module.py", line 244,
in __init__
raise GrassError(str_err % self.name)
grass.pygrass.errors.GrassError: "Module 'g.region' not found, please
check that the module exist"
make[3]: *** [t.remove.tmp.html] Error 1
}}}
--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2067>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list