[GRASS-dev] Re: [GRASS-user] i.spectral.py in WinGrass

Glynn Clements glynn at gclements.plus.com
Fri Dec 24 11:16:10 EST 2010


Martin Landa wrote:

> >> the problem has been report on trac [1], closed without any clue.
> >
> > hm, it seems to be bug in GRASS windows installer, sorry for noise.
> 
> seems to be really mismatch of python versions. The test script
> (below) is run by
> 
> C:\Program Files (x86)\GRASS-70-SVN\extrabin\python.exe (GRASS_PYTHON)
> 
> g.parser runs menuform.py - also by GRASS_PYTHON
> 
> them `r.test.py --interface-description` (called from menuform.py) is
> run by another version of Python
> 
> C:\Python26\ArcGIS10.0\python.exe
> 
> ...no clue why.

Executing a Python script will use whichever program is associated
with the .py extension.

When the GUI runs a command with the --interface-description flag, or
when it runs it for real, it doesn't care whether it's a binary
executable, a Python script or whatever, it just executes it.

It shouldn't matter that scripts don't use the same version of Python
as the GUI. All that matters is that the system has Python installed
correctly. However: if the command is being run with e.g. PYTHONHOME
or PYTHONPATH referring to the "bundled" version, you're likely to run
into problems.

As 7.0 includes Python *scripts* (as opposed to the wx GUI), any
packaging of 7.0 shouldn't attempt to "bundle" Python; that cannot be
made to work. Executing a Python script (via system, _spawn(),
CreateProcess() etc) will use the file associations from the registry,
and the GRASS installer must not change those as that would interfere
with any other use of Python on the system.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-user mailing list