<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Dear Helmut,<br>thanks for your answer <br><br><div>> Date: Sat, 1 Nov 2014 15:17:32 -0700<br>> From: hellik@web.de<br>> To: grass-user@lists.osgeo.org<br>> Subject: Re: [GRASS-user] Problem with python script in osgeo4w grass 6.4.4       32bit<br>> <br>> m roy wrote<br>> > Dear all,<br>> > <br>> > i made a python script for grass and it does not work in grass (version in<br>> > message subject).<br>> > The interface opens but a Windows error states that it is impossible to<br>> > open the file, the<br>> > file is hence not recognized as a valid command.<br>> > the script used to work with osgeo4w 6.4.3 32 bit, if copied in<br>> > "../etc/gui/scripts" directory. <br>> <br>> so far I know nothing about your script.<br><br>the script is a grass python script i made to automate some processing<br>and fondamentally uses r.mapcalc to perform map algebra e.g:<br><br>##<br>grass.mapcalc("$mapoutfile = abs($inraster)",mapoutfile=outraster+'_oname_'+kf.__name__,inraster=outraster+'_'+ofile.__name__)<br>##<br><br>> why is your script in "../etc/gui/scripts"? as it states this folder is for<br>> GUI scripts; AFAIR this folder may be not in %PATH%.<br>This beacause the script have an interface generated by grass parser,<br>and that is the only way I found to have it run in MS Windows (that worked in grass 6.4.3)<br>also the scrip flawlessly works in linux.<br><br> <br>> have you any bat-wrapper for your python script in your %PATH%.<br>> for your python script r.your.script.py living in<br>> C:\OSGeo4W\apps\grass\grass-6.4.x\scripts the bat-wrapper-script<br>> r.your.script.bat should be in C:\OSGeo4W\apps\grass\grass-6.4.x\bin<br>> with following content<br>> <br>> {<br>> @"%GRASS_PYTHON%" "%GISBASE%/scripts/r.your.script.py" %*<br>> }<br><br>I tried your advice, copied the script in<br><br>C:\OSGeo4W\apps\grass\grass-6.4.4\scripts<br><br>and made the bat file in<br><br>C:\OSGeo4W\apps\grass\grass-6.4.x\bin<br><br>but tring tu run it i get this error:<br><br>#### grass output:<br><br>Traceback (most recent call last):<br>  File "C:\OSGeo4W\apps\grass\grass-6.4.4\etc\wxpython\gui_c<br>ore\prompt.py", line 840, in OnItemSelected<br><br>self.cmdDesc = gtask.parse_interface(GetRealCmd(cmd))<br>  File "C:\OSGeo4W\apps\grass\grass-6.4.4\etc\python\grass\s<br>cript\task.py", line 474, in parse_interface<br><br>tree = etree.fromstring(get_interface_description(name))<br>  File "C:\OSGeo4W\apps\grass\grass-6.4.4\etc\python\grass\s<br>cript\task.py", line 452, in get_interface_description<br><br>"\n\nDetails: %(det)s") % { 'cmd' : cmd, 'det' :<br>decode(cmderr) }<br>grass.script.core<br>.<br>ScriptError<br><br>#### end<br><br><br>thanks, Roy.<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>                                     </div></body>
</html>