#2709: pyGRASS Module runs twice from interactive Python prompt --------------------------+-------------------------------- Reporter: martinl | Owner: Type: defect | Status: new Priority: major | Milestone: 7.0.4 Component: PyGRASS | Version: unspecified Resolution: | Keywords: interactive prompt CPU: Unspecified | Platform: Linux --------------------------+--------------------------------
Comment (by neteler): I just checked and something is pretty wrong: {{{ GRASS 7.1.svn (eu_laea):~ > python Python 2.7.10 (default, Sep 8 2015, 17:20:17) [GCC 5.1.1 20150618 (Red Hat 5.1.1-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from grass.pygrass.modules import Module >>> Module('g.extension', flags='a') List of installed extensions (modules): r.skyview i.segment.hierarchical Module('g.extension') <<== ???? }}} Anyway, now entering the next command from the original report: {{{ >>> Module('r.mask', flags='r') ERROR: No existing MASK to remove Description: Maintains GRASS Addons extensions in local GRASS installation. Downloads and installs extensions from GRASS Addons repository or other source into the local GRASS installation or removes installed extensions. Keywords: general, installation, extensions, addons, download <<<-- ????? Usage: g.extension [-lcgasdift] extension=name operation=string [url=url] [prefix=path] [proxy=proxy[,proxy,...]] [--help] [--verbose] [--quiet] [--ui] Flags: -l List available extensions in the official GRASS GIS Addons repository [...] default: $GRASS_ADDON_BASE proxy Set the proxy with: "http=<value>,ftp=<value>" ERROR: Options <extension>, <-l>, <-c>, <-g> and <-a> are mutually exclusive Description: Maintains GRASS Addons extensions in local GRASS installation. [...] Keywords: general, installation, extensions, addons, download Usage: g.extension [-lcgasdift] extension=name operation=string [url=url] [prefix=path] [proxy=proxy[,proxy,...]] [--help] [--verbose] [--quiet] [--ui] [...] }}} ... now there is some "ghost process"... finishing in a loop: {{{ [...] ERROR: Options <extension>, <-l>, <-c>, <-g> and <-a> are mutually exclusive ^CTraceback (most recent call last): File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/scripts/g.extension", line 134, in <module> import shutil File "/usr/lib64/python2.7/shutil.py", line 5, in <module> Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/pygrass/modules/interface/module.py", line 526, in __init__ self.__call__(*args, **kargs) """ File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/pygrass/modules/interface/module.py", line 583, in __call__ KeyboardInterrupt return self.run() File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/pygrass/modules/interface/module.py", line 713, in run Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/pygrass/modules/interface/module.py", line 526, in __init__ module=self.name, errors=stderr) File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/exceptions/__init__.py", line 68, in __init__ msg = _("Module run %s %s ended with error") % (module, code) self.__call__(*args, **kargs) File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/pygrass/modules/interface/module.py", line 583, in __call__ File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/pygrass/modules/interface/module.py", line 583, in __call__ [...] File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/pygrass/modules/interface/module.py", line 713, in run module=self.name, errors=stderr) File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/exceptions/__init__.py", line 68, in __init__ msg = _("Module run %s %s ended with error") % (module, code) File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/pygrass/modules/interface/module.py", line 583, in __call__ return self.run() File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/pygrass/modules/interface/module.py", line 713, in run module=self.name, errors=stderr) File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/exceptions/__init__.py", line 68, in __init__ msg = _("Module run %s %s ended with error") % (module, code) File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/pygrass/modules/interface/module.py", line 583, in __call__ return self.run() File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/pygrass/modules/interface/module.py", line 713, in run module=self.name, errors=stderr) File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/exceptions/__init__.py", line 68, in __init__ msg = _("Module run %s %s ended with error") % (module, code) File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/pygrass/modules/interface/module.py", line 583, in __call__ return self.run() File "/home/neteler/software/grass71/dist.x86_64-pc-linux- gnu/etc/python/grass/pygrass/modules/interface/module.py", line 706, in run stdout, stderr = self.popen.communicate(input=self.stdin) File "/usr/lib64/python2.7/subprocess.py", line 796, in communicate self.wait() File "/usr/lib64/python2.7/subprocess.py", line 1384, in wait pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0) File "/usr/lib64/python2.7/subprocess.py", line 476, in _eintr_retry_call return func(*args) KeyboardInterrupt }}} -- Ticket URL: <https://trac.osgeo.org/grass/ticket/2709#comment:6> GRASS GIS <https://grass.osgeo.org> _______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev