I've been a reader in the Grass-users list so far but I wanted to follow up with this:

I was trying to get a py script running under Grass 6.4 and 7.0
OS: WIndows 7 64 bit

Here are the results of my experiments, I will try to provide as much detail as I can:

I am using http://svn.osgeo.org/grass/grass-addons/raster/r.ipso/ for my tests:

GRASS64
I have GRASS 64 installed in C:\GRASS-64
I put the the r.ipso.py in C:\GRASS-64\scripts
I launch the GRASS 6.4.0 with MSYS

when I directly try to launch the module, I get this:

*GRASS 6.4> r.ipso.py
Traceback (most recent call last):
  File "c:/GRASS-64/scripts/r.ipso.py", line 53, in <module>
    import matplotlib.pyplot as plt
File "C:\GRASS-64\Python25\lib\site-packages\matplotlib\pyplot.py", line 78, in <module>
    new_figure_manager, draw_if_interactive, show = pylab_setup()
File "C:\GRASS-64\Python25\lib\site-packages\matplotlib\backends\__init__.py", line 25, in pylab_setup
    globals(),locals(),[backend_name])
File "C:\GRASS-64\Python25\lib\site-packages\matplotlib\backends\backend_tkagg.py", line 7, in <module>
    import Tkinter as Tk, FileDialog
ImportError: No module named Tkinter*

I could workaround this problem by using the Python 26 installed separately in C:\Python26 (which has numpy, matplotlib, wx-2.8-msw-unicode (wxpython) etc)
apparently python26 interpreter can run the matplotlib better(?).
so I did:

*GRASS 6.4> export PATH="/C/GRASS-64/lib:/C/GRASS-64/bin:/C/GRASS-64/scripts:/C/GRASS-64/tcl-tk/bin:/C/GRASS-64/sqlite/bin:/C/GRASS-64/gpsbabel:/C/GRASS-64/extralib:/bin:/C/Python26"
GRASS 6.4> export PYTHONHOME="/C/Python26"
*
note that I removed the C/Grass-64/extrabin to prevent the python.exe there to interfere with my python.exe (the one in C:\Python26\) to execute - If I don't remove C/Grass-64/extrabin from the PATH, here is the result:

*GRASS 6.4> r.ipso.py
c:/Python26\lib\site.py:150: Warning: 'with' will become a reserved keyword in Python 2.6
'import site' failed; use -v for traceback
Traceback (most recent call last):
  File "c:/GRASS-70-SVN/scripts/r.ipso.py", line 52, in <module>
    import os
  File "c:/Python26\lib\os.py", line 758
    bs = b""
           ^
SyntaxError: invalid syntax*

so anyway, I change the path as I mentioned above and the result is:

*GRASS 6.4> r.ipso.py
ERROR: Required parameter <map> not set:
    (Name of raster map).
ERROR: Required parameter <image> not set:
    (output graph).
Description:
Keywords:
 raster
Usage:
 r.ipso.py [-ab] map=name image=image [--verbose] [--quiet]

Flags:
  -a   generate ipsometric curve
  -b   generate ipsographic curve
 --v   Verbose module output
 --q   Quiet module output

Parameters:
    map   Name of raster map
  image   output graph
GRASS 6.4> *

so it works, I tried it with an input map and everything. It creates the plot image and everything but the GUI does not launch (in linux it does - everything works better there :) ). I want the GUI so that when I create my own script I can check how the GUI looks etc.

I tried the same thing GRASS 7 too since it is all Python (which I love ! )

I get a different error when I go r.ipso.py just after launching GRASS 7.0.SVN with MSYS (Grass7.0 is installed in C:\GRASS-70-SVN - I mention this to let you know that I don't go with the default C:\Program Files (X86)\GRASS..... which has spaces in it and it creates all kinds of problems - I see that it is been fixed, but I still feel this is safer)

*GRASS 7.0.svn> r.ipso.py
Traceback (most recent call last):
  File "c:/GRASS-70-SVN/scripts/r.ipso.py", line 53, in <module>
    import matplotlib.pyplot as plt
ImportError: No module named matplotlib.pyplot*

the reason (probably), C:\GRASS-70-SVN\Python25\Lib\site-packages does not come with matplotlib - anyway I trick it again to look for libraries under my Python26 by exporting:

*export PATH="/C/GRASS-70-SVN/lib:/C/GRASS-70-SVN/bin:/C/GRASS-70-SVN/scripts:/C/GRASS-70-SVN/tcl-tk/bin:/C/GRASS-70-SVN/sqlite/bin:/c/GRASS-70-SVN/gpsbabel:/c/GRASS-70-SVN/extralib:/bin:/c/Python26"
export PYTHONHOME="/C/Python26"*

again note that I don't have the extrabin folder in the PATH

*GRASS 7.0.svn> r.ipso.py
ERROR: wxGUI requires wxPython. No module named wxversion
GRASS 7.0.svn>
*
This is where I am at right now - it seems that it is going to work out if I figure out this last "ERROR: wxGUI requires wxPython. No module named wxversion" problem in Grass-70.

Any ideas, suggestions ?
I just want to be able to launch the GUI when I have a .py of my own under /scripts in grass6.4 or 7.0

thanks
Onur






On 10/4/2010 2:41 PM, Helena Herrera wrote:
Greetings to all
I want to know if anyone has ever tried to build Python Scripts on winGRASS 6.x??? Because I didn't find any literature or document that this was a limition on Windows...


On Fri, Oct 1, 2010 at 6:40 PM, Glynn Clements <gl...@gclements.plus.com <mailto:gl...@gclements.plus.com>> wrote:


    Helena Herrera wrote:

    > I have developed a Script to import Landsat images that runs
    just fine in
    > Linux
    >
    > But when I compile (Msys)  with this expressioN:
    > make -C r.in.landsat
    >
    MODULE_TOPDIR=/C/OSGeo4W/usr/src/grass-6.4.svn_src_snapshot_2010_09_04
    >
    > and run in GRASS I get this error:

    >
    
xml.sax.parseString(getInterfaceDescription(cmd[0]).decode(enc).split('\n',1)[1].replace('',
    > '<?xml version="1.0" encoding="utf-8"?>\n', 1).encode("utf-8"),

    > IndexError: list index out of range
    > 1- Is my compilation expression correct?
    >
    > 2- What am I missing on this?

    I'm not sure that Python scripts work in 6.x on Windows. I'm fairly
    sure that the build system *doesn't* handle Python scripts in 6.x on
    Windows.

    The main issue is that, on Windows, the build system installs a batch
    file which executes the actual script, and the batch file only works
    for shell scripts.

    --
    Glynn Clements <gl...@gclements.plus.com
    <mailto:gl...@gclements.plus.com>>



_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

--

M.Onur Kurum
Graduate Research Assistant
Dept. of Civil, Construction, and Environmental Engineering
North Carolina State University
Campus Box 7908
2501 Stinson Drive, 428 Mann Hall
Raleigh, NC  27695-7908
Office: (919) 515-1340
Mobile: (919) 200-0665
Email: moku...@ncsu.edu
Email: m.onur.ku...@gmail.com



On 10/4/2010 2:41 PM, Helena Herrera wrote:
Greetings to all
I want to know if anyone has ever tried to build Python Scripts on winGRASS 6.x??? Because I didn't find any literature or document that this was a limition on Windows...


On Fri, Oct 1, 2010 at 6:40 PM, Glynn Clements <gl...@gclements.plus.com <mailto:gl...@gclements.plus.com>> wrote:


    Helena Herrera wrote:

    > I have developed a Script to import Landsat images that runs
    just fine in
    > Linux
    >
    > But when I compile (Msys)  with this expressioN:
    > make -C r.in.landsat
    >
    MODULE_TOPDIR=/C/OSGeo4W/usr/src/grass-6.4.svn_src_snapshot_2010_09_04
    >
    > and run in GRASS I get this error:

    >
    
xml.sax.parseString(getInterfaceDescription(cmd[0]).decode(enc).split('\n',1)[1].replace('',
    > '<?xml version="1.0" encoding="utf-8"?>\n', 1).encode("utf-8"),

    > IndexError: list index out of range
    > 1- Is my compilation expression correct?
    >
    > 2- What am I missing on this?

    I'm not sure that Python scripts work in 6.x on Windows. I'm fairly
    sure that the build system *doesn't* handle Python scripts in 6.x on
    Windows.

    The main issue is that, on Windows, the build system installs a batch
    file which executes the actual script, and the batch file only works
    for shell scripts.

    --
    Glynn Clements <gl...@gclements.plus.com
    <mailto:gl...@gclements.plus.com>>



_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

--

M.Onur Kurum
Graduate Research Assistant
Dept. of Civil, Construction, and Environmental Engineering
North Carolina State University
Campus Box 7908
2501 Stinson Drive, 428 Mann Hall
Raleigh, NC  27695-7908
Office: (919) 515-1340
Mobile: (919) 200-0665
Email: moku...@ncsu.edu
Email: m.onur.ku...@gmail.com

_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to