[GRASS-user] can't install and execute python script

Markus Neteler neteler at osgeo.org
Mon Mar 15 15:31:16 PDT 2021


Hi,

On Mon, Mar 15, 2021 at 11:07 AM Frank David <frank.david at geophom.fr> wrote:
>
> Hello,
>
> I've installed GRASS 7.8.3 on Ubuntu 20.10 (groovy) and when I try to install my own python script, the message is :
>
> Fetching <r.wtg> from </media/zephyr/ress/informatique/scripts/grass/scripts/r.wtg> (be patient)...
> Compiling...
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/r.wtg.visibility.threshold: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/r.wtg.visibility.conv: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/r.wtg.surround: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/r.wtg.visibility: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/r.wtg.intervisibility: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/r.wtg.visual.area: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/r.wtg.visual.cone: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/r.wtg.visual.competition: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/r.wtg.horizontal.visibility: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/r.terrain.vertical.angle: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/r.terrain.horizon: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/r.wtg.pit2hwtg: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/r.wtg.overhang: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/v.wtg.visibility.what: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/r.wtg.series: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/v.wtg.surround: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/g.wtg.listfromtable: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/v.wtg.drawline: not found
> /bin/sh: 1: /tmp/grass7-geophom-78286/tmp1tw0ncyb/r.wtg/scripts/v.wtg.transect: not found
> Installing...
> Updating private addons metadata file...
> WARNING: No addons metadata available. Addons metadata file not updated.
> Installation of <r.wtg> successfully finished
>
> All files are well copied in /home/me/.grass7/addons/scripts
>
> And when i want to execute one of them (here r.wtg.visibility), I get :
>
> Traceback (most recent call last):
>   File "/usr/lib/grass78/etc/python/grass/script/task.py",
> line 473, in get_interface_description
>
> p = Popen([cmd, '--interface-description'], stdout=PIPE,
>   File "/usr/lib/grass78/etc/python/grass/script/core.py",
> line 63, in __init__
>
> subprocess.Popen.__init__(self, args, **kwargs)
>   File "/usr/lib/python3.8/subprocess.py", line 854, in
> __init__
>
> self._execute_child(args, executable, preexec_fn, close_fds,
>   File "/usr/lib/python3.8/subprocess.py", line 1702, in
> _execute_child
>
> raise child_exception_type(errno_num, err_msg, err_filename)
> FileNotFoundError
> :
> [Errno 2] No such file or directory: 'r.wtg.visibility'
> During handling of the above exception, another exception
> occurred:
> Traceback (most recent call last):
>   File "/usr/lib/grass78/gui/wxpython/gui_core/prompt.py",
> line 272, in OnItemSelected
>
> self.cmdDesc = gtask.parse_interface(cmd)
>   File "/usr/lib/grass78/etc/python/grass/script/task.py",
> line 522, in parse_interface
>
> tree = etree.fromstring(get_interface_description(name))
>   File "/usr/lib/grass78/etc/python/grass/script/task.py",
> line 501, in get_interface_description
>
> raise ScriptError(_("Unable to fetch interface description
> for command '<{cmd}>'."
> grass.exceptions
> .
> ScriptError
> :
> Unable to fetch interface description for command
> '<r.wtg.visibility>'.
> Details: <[Errno 2] No such file or directory:
> 'r.wtg.visibility'>
>
> If i rename a script with .py, I can execute it from the menu File>execute script
>
> I have two other Grass (7.9) on Debian Buster and it works fine...
>
> The $GRASS_ADDON_BASE = /home/me/.grass7/addons
> The $GRASS_ADDON_PATH = /home/me/.grass7/addons/scripts
>
> Do you have any idea that problem ?

This is somehow hard to say - is the addon available for testing?

Markus


More information about the grass-user mailing list