[GRASS-dev] Handling of Python scripts on MS Windows

Moritz Lennert mlennert at club.worldonline.be
Wed Apr 9 00:34:28 PDT 2014


On 09/04/14 08:16, Markus Metz wrote:
> On Wed, Apr 9, 2014 at 3:44 AM, Glynn Clements <glynn at gclements.plus.com> wrote:
[...]
>> In spite of wxGUI, GRASS remains fundamentally a collection of
>> command-line modules, more like a library than an application.
>
> I make use of this property daily. On MS Windows, GRASS should by
> default behave like a stand-alone application. You can make use of the
> collection of command-line modules through the msys shell, but that is
> really only for power users.

[...]

>> If I'm likely to perform the same operation more than once, I'm *much*
>> more likely to use the scripted approach than the pointy-clicky GUI.
>
> As an experienced *NIX user, yes. Not so Windows users, many feel
> alienated by a command line. On Windows, GRASS should behave like a
> self-contained GUI application. There were even suggestions to remove
> the command line interface completely from winGRASS because it
> confuses users.
>

So, actually here the debate is about whether GRASS for Windows should 
be a different beast than GRASS for *nix/Mac. In my practical teaching 
experience I would strongly plead for having them as similar as 
possible. Learning on one platform should allow you to use GRASS on any 
platform.

And, in my experience, I've never seen users confused by the command 
line in Windows. They might ignore it, it might scare them a bit, but 
I've never seen it cause any problems. On the contrary, I've always 
found that with a little gentle introduction, students very quickly see 
the advantage of the command line over the GUI.

>>> IMHO, what you say is that GRASS and MS Windows are incompatible by
>>> principle,
>>
>> Not at all. Windows does actually have a command-execution mechanism
>> (even the Mac has one nowadays).
>
> Any installed Python interpreter does not know about any other
> packages relying on it. The Python interpreter can change any time
> (version, architecture), or disappear, without other packages knowing
> about it, then there is a problem. Windows applications are by nature
> stand-alone applications, they don't know about each other's
> existence.

In what ways is this different from *nix ? GRASS has no knowledge or 
control over the Python interpreter. It's up to the user to install the 
correct interpreter and make sure that GRASS can find it. Luckily this 
is often taken care of by distribution packaging, but it's still 
independent of GRASS.

Moritz


More information about the grass-dev mailing list