Yes. I do get the "add the script path to GRASS_ADDON_PATH" prompt. After I say 'yes' to the prompt, the script runs successfully. Thanks!
On Thu, Mar 5, 2015 at 1:14 PM, <[email protected]> wrote: > Send grass-user mailing list submissions to > [email protected] > > To subscribe or unsubscribe via the World Wide Web, visit > http://lists.osgeo.org/mailman/listinfo/grass-user > or, via email, send a message with subject or body 'help' to > [email protected] > > You can reach the person managing the list at > [email protected] > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of grass-user digest..." > > > Today's Topics: > > 1. Re: grass-user Digest, Vol 107, Issue 2 (Anna Petr??ov?) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Thu, 5 Mar 2015 13:14:05 -0500 > From: Anna Petr??ov? <[email protected]> > To: Rob Parsons <[email protected]> > Cc: GRASS user list <[email protected]> > Subject: Re: [GRASS-user] grass-user Digest, Vol 107, Issue 2 > Message-ID: > <CAE0EDEro0wnTAaLkgmwsvpZcUckXvXmzBUMcOv4J5qwW= > [email protected]> > Content-Type: text/plain; charset="utf-8" > > On Wed, Mar 4, 2015 at 10:09 PM, Rob Parsons <[email protected]> > wrote: > > > Thanks for the direction! > > > > I have successfully worked through the examples on > > http://grass.osgeo.org/grass70/manuals/libpython/script_intro.html > except > > for the last one about adding a module interface to a script. I copied > the > > code into a python file named module_interface.py. After I File-> "Launch > > script" and select module_interface.py, the module GUI pops up and > prompts > > for the raster inputs and output. But, after clicking on "Run", the > script > > reports the following message: > > > > > Before the module dialog opens, you should get a dialog asking to add the > script path to GRASS_ADDON_PATH. If you do it, you should be able to run > the script. Did you get this dialog? > > Anna > > (Wed Mar 04 21:55:29 > > 2015) > > module_interface araster=el_D782_6m@PERMANENT > braster=el_D783_6m@PERMANENT > > output=el_r_6m > > 'module_interface' is not recognized as an internal or > > external command, > > operable program or batch file. > > (Wed Mar 04 21:55:29 2015) Command finished (0 > > sec) > > > > Anyone seen this message? > > > > Rob Parsons > > Raleigh NC > > > > > > > > On Sun, Mar 1, 2015 at 8:13 PM, <[email protected]> > > wrote: > > > >> Send grass-user mailing list submissions to > >> [email protected] > >> > >> To subscribe or unsubscribe via the World Wide Web, visit > >> http://lists.osgeo.org/mailman/listinfo/grass-user > >> or, via email, send a message with subject or body 'help' to > >> [email protected] > >> > >> You can reach the person managing the list at > >> [email protected] > >> > >> When replying, please edit your Subject line so it is more specific > >> than "Re: Contents of grass-user digest..." > >> > >> > >> Today's Topics: > >> > >> 1. GRASS 7.0 Running Scripts (.\GRASS GIS 7.0.0\scripts) > >> (Rob Parsons) > >> 2. Re: GRASS 7.0 Running Scripts (.\GRASS GIS 7.0.0\scripts) > >> (Vaclav Petras) > >> > >> > >> ---------------------------------------------------------------------- > >> > >> Message: 1 > >> Date: Sun, 1 Mar 2015 19:37:59 -0500 > >> From: Rob Parsons <[email protected]> > >> To: [email protected] > >> Subject: [GRASS-user] GRASS 7.0 Running Scripts (.\GRASS GIS > >> 7.0.0\scripts) > >> Message-ID: > >> < > >> cafvpspbh1xvpegff15hxkny0qeemueehp9bucv4fb9zgq_2...@mail.gmail.com> > >> Content-Type: text/plain; charset="utf-8" > >> > >> Hello, > >> > >> How do I run scripts located in C:\Program Files (x86)\GRASS GIS > >> 7.0.0\scripts? > >> > >> I am learning GRASS 7.0.0 on Windows 7 by converting some GRASS 6.4 > shell > >> scripts to GRASS 7 Python scripts (import grass.script as grass) and > GRASS > >> 7 PyGRASS scripts (from grass.pygrass.modules import Module). > >> > >> My installation is working fine. I can manually run the commands (from a > >> shell script) in the "Command console" window of the "Layer Manager". > For > >> example, I can enter "g.region swwake_30m -p" in the "Command prompt" > area > >> and get the following results: > >> > >> > >> Sun Mar 01 12:32:30 > >> 2015) > >> g.region swwake_30m > >> -p > >> projection: 99 (Lambert Conformal Conic) > >> zone: 0 > >> datum: nad83 > >> ellipsoid: a=6378137 es=0.006694380022900787 > >> north: 228500 > >> south: 215000 > >> west: 630000 > >> east: 645000 > >> nsres: 30 > >> ewres: 30 > >> rows: 450 > >> cols: 500 > >> cells: 225000 > >> (Sun Mar 01 12:32:31 2015) Command finished (0 > >> sec) > >> > >> I am using the "Pythonwin" IDE to develop the scripts (C:\Program Files > >> (x86)\GRASS GIS > 7.0.0\Python27\lib\site-packages\pythonwin\Pythonwin.exe). > >> In the "GRASS GIS 7.0.0 GUI" Command Prompt window I type "pythonwin" > and > >> the IDE starts up. > >> > >> I have spent several days trying to understand how to create GRASS > Python > >> scripts and GRASS PyGRASS scripts from the online documentation( > >> http://grasswiki.osgeo.org/wiki/GRASS_and_Python) and by studying the > >> script samples (C:\Program Files (x86)\GRASS GIS 7.0.0\scripts). I have > >> not > >> been successful in getting example code to run but I am still working > >> through the documentation. > >> > >> But, I should be able to run scripts located in C:\Program Files > >> (x86)\GRASS GIS 7.0.0\scripts. > >> > >> Correct? > >> > >> 1. If I open .\scripts\d.what.rast.py in the Pythonwin IDE and try to > run > >> it, I get this output: > >> > >> OSError error(9): The handle is invalid > >> Traceback (most recent call last): > >> File "C:\Program Files (x86)\GRASS GIS > >> > >> > 7.0.0\Python27\lib\site-packages\pythonwin\pywin\framework\scriptutils.py", > >> line 325, in RunScript > >> exec codeObject in __main__.__dict__ > >> File > >> > >> > "C:\Users\Rob\Documents\grassscripts\pygrass\make_raster_using_mapcalc.py", > >> line 8, in <module> > >> g.message("Filter elevation map by a threshold...") > >> File "C:\Program Files (x86)\GRASS GIS > >> 7.0.0\etc\python\grass\pygrass\modules\shortcuts.py", line 46, in > >> __getattr__ > >> return self.cls('%s.%s' % (self.prefix, name.replace('_', '.'))) > >> File "C:\Program Files (x86)\GRASS GIS > >> 7.0.0\etc\python\grass\pygrass\modules\interface\module.py", line 498, > in > >> __init__ > >> raise GrassError(str_err % self.name) > >> GrassError: Error running: `g.message --interface-description`. > >> Traceback (most recent call last): > >> File "C:\Program Files (x86)\GRASS GIS > >> > >> > 7.0.0\Python27\lib\site-packages\pythonwin\pywin\framework\scriptutils.py", > >> line 325, in RunScript > >> exec codeObject in __main__.__dict__ > >> File "C:\Program Files (x86)\GRASS GIS 7.0.0\scripts\d.what.rast.py", > >> line 45, in <module> > >> main() > >> File "C:\Program Files (x86)\GRASS GIS 7.0.0\scripts\d.what.rast.py", > >> line 30, in main > >> options, flags = gcore.parser() > >> File "C:\Program Files (x86)\GRASS GIS > >> 7.0.0\etc\python\grass\script\core.py", line 680, in parser > >> p = subprocess.Popen([prog, '-n'] + argv, stdout=subprocess.PIPE) > >> File "C:\Program Files (x86)\GRASS GIS > >> 7.0.0\Python27\lib\subprocess.py", > >> line 703, in __init__ > >> errread, errwrite) = self._get_handles(stdin, stdout, stderr) > >> File "C:\Program Files (x86)\GRASS GIS > >> 7.0.0\Python27\lib\subprocess.py", > >> line 839, in _get_handles > >> p2cread = self._make_inheritable(p2cread) > >> File "C:\Program Files (x86)\GRASS GIS > >> 7.0.0\Python27\lib\subprocess.py", > >> line 878, in _make_inheritable > >> _subprocess.DUPLICATE_SAME_ACCESS) > >> WindowsError: [Error 6] The handle is invalid > >> Traceback (most recent call last): > >> File "C:\Program Files (x86)\GRASS GIS > >> > >> > 7.0.0\Python27\lib\site-packages\pythonwin\pywin\framework\scriptutils.py", > >> line 325, in RunScript > >> exec codeObject in __main__.__dict__ > >> File "C:\Program Files (x86)\GRASS GIS 7.0.0\scripts\d.what.rast.py", > >> line 45, in <module> > >> main() > >> File "C:\Program Files (x86)\GRASS GIS 7.0.0\scripts\d.what.rast.py", > >> line 30, in main > >> options, flags = gcore.parser() > >> File "C:\Program Files (x86)\GRASS GIS > >> 7.0.0\etc\python\grass\script\core.py", line 680, in parser > >> p = subprocess.Popen([prog, '-n'] + argv, stdout=subprocess.PIPE) > >> File "C:\Program Files (x86)\GRASS GIS > >> 7.0.0\Python27\lib\subprocess.py", > >> line 703, in __init__ > >> errread, errwrite) = self._get_handles(stdin, stdout, stderr) > >> File "C:\Program Files (x86)\GRASS GIS > >> 7.0.0\Python27\lib\subprocess.py", > >> line 839, in _get_handles > >> p2cread = self._make_inheritable(p2cread) > >> File "C:\Program Files (x86)\GRASS GIS > >> 7.0.0\Python27\lib\subprocess.py", > >> line 878, in _make_inheritable > >> _subprocess.DUPLICATE_SAME_ACCESS) > >> WindowsError: [Error 6] The handle is invalid > >> >>> > >> > >> 2. If I go to the "Python shell" tab on the "Layer Manager" and do File > -> > >> Launch Script and browse to .\scripts\d.what.rast.py, I get this > output: > >> > >> (Sun Mar 01 12:32:31 2015) Command finished (0 > >> sec) > >> Launching script 'C:\Program Files (x86)\GRASS GIS 7.0.0\scripts\ > >> d.what.rast.py'... > >> Traceback (most recent call last): > >> File "C:\Program Files (x86)\GRASS GIS > >> 7.0.0\gui\wxpython\gui_core\forms.py", line 718, in OnRun > >> > >> gcmd.Command(cmd) > >> File "C:\Program Files (x86)\GRASS GIS > >> 7.0.0\gui\wxpython\core\gcmd.py", line 397, in __init__ > >> > >> _("Error: ") + self.__GetError())) > >> core.gcmd > >> . > >> GException > >> : > >> Execution failed: 'd.what.rast map=elevation' > >> Details: > >> Error: > >> > >> Any ideas on what might be going on here? > >> > >> Rob Parsons > >> Raleigh NC > >> -------------- next part -------------- > >> An HTML attachment was scrubbed... > >> URL: < > >> > http://lists.osgeo.org/pipermail/grass-user/attachments/20150301/b41b2959/attachment-0001.html > >> > > >> > >> ------------------------------ > >> > >> Message: 2 > >> Date: Sun, 1 Mar 2015 20:12:57 -0500 > >> From: Vaclav Petras <[email protected]> > >> To: Rob Parsons <[email protected]> > >> Cc: GRASS user list <[email protected]> > >> Subject: Re: [GRASS-user] GRASS 7.0 Running Scripts (.\GRASS GIS > >> 7.0.0\scripts) > >> Message-ID: > >> <CABo5uVt7hq0QnHYqzV5O949h3URGxFOAjHNLxiMx= > >> [email protected]> > >> Content-Type: text/plain; charset="utf-8" > >> > >> On Sun, Mar 1, 2015 at 7:37 PM, Rob Parsons <[email protected]> > >> wrote: > >> > >> > Hello, > >> > > >> > How do I run scripts located in C:\Program Files (x86)\GRASS GIS > >> > 7.0.0\scripts? > >> > > >> > I am learning GRASS 7.0.0 on Windows 7 by converting some GRASS 6.4 > >> shell > >> > scripts to GRASS 7 Python scripts (import grass.script as grass) and > >> GRASS > >> > 7 PyGRASS scripts (from grass.pygrass.modules import Module). > >> > > >> > My installation is working fine. I can manually run the commands > (from a > >> > shell script) in the "Command console" window of the "Layer Manager". > >> For > >> > example, I can enter "g.region swwake_30m -p" in the "Command prompt" > >> area > >> > and get the following results: > >> > > >> > > >> > Sun Mar 01 12:32:30 > >> > 2015) > >> > g.region swwake_30m > >> > -p > >> > projection: 99 (Lambert Conformal Conic) > >> > zone: 0 > >> > datum: nad83 > >> > ellipsoid: a=6378137 es=0.006694380022900787 > >> > north: 228500 > >> > south: 215000 > >> > west: 630000 > >> > east: 645000 > >> > nsres: 30 > >> > ewres: 30 > >> > rows: 450 > >> > cols: 500 > >> > cells: 225000 > >> > (Sun Mar 01 12:32:31 2015) Command finished (0 > >> > sec) > >> > > >> > I am using the "Pythonwin" IDE to develop the scripts (C:\Program > Files > >> > (x86)\GRASS GIS > >> 7.0.0\Python27\lib\site-packages\pythonwin\Pythonwin.exe). > >> > In the "GRASS GIS 7.0.0 GUI" Command Prompt window I type "pythonwin" > >> and > >> > the IDE starts up. > >> > > >> > I have spent several days trying to understand how to create GRASS > >> Python > >> > scripts and GRASS PyGRASS scripts from the online documentation( > >> > http://grasswiki.osgeo.org/wiki/GRASS_and_Python) and by studying the > >> > script samples (C:\Program Files (x86)\GRASS GIS 7.0.0\scripts). I > have > >> not > >> > been successful in getting example code to run but I am still working > >> > through the documentation. > >> > > >> > Please try the example from: > >> > >> http://grass.osgeo.org/grass70/manuals/libpython/script_intro.html > >> > >> I linked this page from documentation as well as the other Python wiki > >> page > >> from the GRASS and Python page: > >> > >> http://grasswiki.osgeo.org/wiki/GRASS_Python_Scripting_Library > >> > >> Note that GRASS scripts by default cannot run from outside GRASS GIS > >> session (environment). This is probably not emphasized enough in the > >> documentation. > >> > >> But, I should be able to run scripts located in C:\Program Files > >> > (x86)\GRASS GIS 7.0.0\scripts. > >> > > >> > Correct? > >> > > >> > Correct but can you please try some other module than a d.* module, > e.g. > >> r.out.xyz? d.* commands are somehow special (although in this case it > >> probably doesn't matter). > >> > >> > >> > 1. If I open .\scripts\d.what.rast.py in the Pythonwin IDE and try to > >> run > >> > it, I get this output: > >> > > >> > OSError error(9): The handle is invalid > >> > Traceback (most recent call last): > >> > File "C:\Program Files (x86)\GRASS GIS > >> > > >> > 7.0.0\Python27\lib\site-packages\pythonwin\pywin\framework\scriptutils.py", > >> > line 325, in RunScript > >> > exec codeObject in __main__.__dict__ > >> > File > >> > > >> > "C:\Users\Rob\Documents\grassscripts\pygrass\make_raster_using_mapcalc.py", > >> > line 8, in <module> > >> > g.message("Filter elevation map by a threshold...") > >> > File "C:\Program Files (x86)\GRASS GIS > >> > 7.0.0\etc\python\grass\pygrass\modules\shortcuts.py", line 46, in > >> > __getattr__ > >> > return self.cls('%s.%s' % (self.prefix, name.replace('_', '.'))) > >> > File "C:\Program Files (x86)\GRASS GIS > >> > 7.0.0\etc\python\grass\pygrass\modules\interface\module.py", line 498, > >> in > >> > __init__ > >> > raise GrassError(str_err % self.name) > >> > GrassError: Error running: `g.message --interface-description`. > >> > Traceback (most recent call last): > >> > File "C:\Program Files (x86)\GRASS GIS > >> > > >> > 7.0.0\Python27\lib\site-packages\pythonwin\pywin\framework\scriptutils.py", > >> > line 325, in RunScript > >> > exec codeObject in __main__.__dict__ > >> > File "C:\Program Files (x86)\GRASS GIS 7.0.0\scripts\d.what.rast.py > ", > >> > line 45, in <module> > >> > main() > >> > File "C:\Program Files (x86)\GRASS GIS 7.0.0\scripts\d.what.rast.py > ", > >> > line 30, in main > >> > options, flags = gcore.parser() > >> > File "C:\Program Files (x86)\GRASS GIS > >> > 7.0.0\etc\python\grass\script\core.py", line 680, in parser > >> > p = subprocess.Popen([prog, '-n'] + argv, stdout=subprocess.PIPE) > >> > File "C:\Program Files (x86)\GRASS GIS > >> > 7.0.0\Python27\lib\subprocess.py", line 703, in __init__ > >> > errread, errwrite) = self._get_handles(stdin, stdout, stderr) > >> > File "C:\Program Files (x86)\GRASS GIS > >> > 7.0.0\Python27\lib\subprocess.py", line 839, in _get_handles > >> > p2cread = self._make_inheritable(p2cread) > >> > File "C:\Program Files (x86)\GRASS GIS > >> > 7.0.0\Python27\lib\subprocess.py", line 878, in _make_inheritable > >> > _subprocess.DUPLICATE_SAME_ACCESS) > >> > WindowsError: [Error 6] The handle is invalid > >> > Traceback (most recent call last): > >> > File "C:\Program Files (x86)\GRASS GIS > >> > > >> > 7.0.0\Python27\lib\site-packages\pythonwin\pywin\framework\scriptutils.py", > >> > line 325, in RunScript > >> > exec codeObject in __main__.__dict__ > >> > File "C:\Program Files (x86)\GRASS GIS 7.0.0\scripts\d.what.rast.py > ", > >> > line 45, in <module> > >> > main() > >> > File "C:\Program Files (x86)\GRASS GIS 7.0.0\scripts\d.what.rast.py > ", > >> > line 30, in main > >> > options, flags = gcore.parser() > >> > File "C:\Program Files (x86)\GRASS GIS > >> > 7.0.0\etc\python\grass\script\core.py", line 680, in parser > >> > p = subprocess.Popen([prog, '-n'] + argv, stdout=subprocess.PIPE) > >> > File "C:\Program Files (x86)\GRASS GIS > >> > 7.0.0\Python27\lib\subprocess.py", line 703, in __init__ > >> > errread, errwrite) = self._get_handles(stdin, stdout, stderr) > >> > File "C:\Program Files (x86)\GRASS GIS > >> > 7.0.0\Python27\lib\subprocess.py", line 839, in _get_handles > >> > p2cread = self._make_inheritable(p2cread) > >> > File "C:\Program Files (x86)\GRASS GIS > >> > 7.0.0\Python27\lib\subprocess.py", line 878, in _make_inheritable > >> > _subprocess.DUPLICATE_SAME_ACCESS) > >> > WindowsError: [Error 6] The handle is invalid > >> > >>> > >> > > >> > > >> > >> This might be somehow related to bug in Python itself: > >> > >> http://bugs.python.org/issue3905 > >> > >> However, please focus on running the scripts for GRASS GIS from GRASS > >> session. The easiest way how to do that on MS Windows is to write the > >> script and then to start it from GUI (File > Run script) or from Python > >> shell tab in the GUI. > >> > >> It is possible to run scripts which are using GRASS modules from outside > >> of > >> GRASS session but it requires you to set up the GRASS environment > >> yourself. > >> This is possible but it has some challenges. On the other hand, if you > >> write your script in the way that it runs (only) in a GRASS session you > >> can > >> use GRASS features for automatic building of interface and thus create a > >> true GRASS module. > >> > >> > >> > 2. If I go to the "Python shell" tab on the "Layer Manager" and do > File > >> -> > >> > Launch Script and browse to .\scripts\d.what.rast.py, I get this > >> output: > >> > > >> > (Sun Mar 01 12:32:31 2015) Command finished (0 > >> > sec) > >> > Launching script 'C:\Program Files (x86)\GRASS GIS 7.0.0\scripts\ > >> > d.what.rast.py'... > >> > Traceback (most recent call last): > >> > File "C:\Program Files (x86)\GRASS GIS > >> > 7.0.0\gui\wxpython\gui_core\forms.py", line 718, in OnRun > >> > > >> > gcmd.Command(cmd) > >> > File "C:\Program Files (x86)\GRASS GIS > >> > 7.0.0\gui\wxpython\core\gcmd.py", line 397, in __init__ > >> > > >> > _("Error: ") + self.__GetError())) > >> > core.gcmd > >> > . > >> > GException > >> > : > >> > Execution failed: 'd.what.rast map=elevation' > >> > Details: > >> > Error: > >> > > >> > The error message seems to be incomplete but in any case, please try > >> with > >> r.out.xyz script and the example script from: > >> > >> http://grass.osgeo.org/grass70/manuals/libpython/script_intro.html > >> > >> Vaclav > >> > >> > >> > Any ideas on what might be going on here? > >> > > >> > Rob Parsons > >> > Raleigh NC > >> > > >> > > >> > _______________________________________________ > >> > grass-user mailing list > >> > [email protected] > >> > http://lists.osgeo.org/mailman/listinfo/grass-user > >> > > >> -------------- next part -------------- > >> An HTML attachment was scrubbed... > >> URL: < > >> > http://lists.osgeo.org/pipermail/grass-user/attachments/20150301/6ff05a0b/attachment.html > >> > > >> > >> ------------------------------ > >> > >> _______________________________________________ > >> grass-user mailing list > >> [email protected] > >> http://lists.osgeo.org/mailman/listinfo/grass-user > >> > >> End of grass-user Digest, Vol 107, Issue 2 > >> ****************************************** > >> > > > > > > _______________________________________________ > > grass-user mailing list > > [email protected] > > http://lists.osgeo.org/mailman/listinfo/grass-user > > > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: < > http://lists.osgeo.org/pipermail/grass-user/attachments/20150305/74ca5f99/attachment.html > > > > ------------------------------ > > _______________________________________________ > grass-user mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/grass-user > > End of grass-user Digest, Vol 107, Issue 9 > ****************************************** >
_______________________________________________ grass-user mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-user
