[GRASS-dev] [GRASS GIS] #580: WinGRASS: $GISBASE/etc/gui/scripts/ require something like $(EXE) to run

GRASS GIS trac at osgeo.org
Wed Aug 22 21:59:50 PDT 2012


#580: WinGRASS: $GISBASE/etc/gui/scripts/ require something like $(EXE) to run
---------------------------+------------------------------------------------
  Reporter:  hamish        |       Owner:  grass-dev@…              
      Type:  defect        |      Status:  reopened                 
  Priority:  blocker       |   Milestone:  7.0.0                    
 Component:  wxGUI         |     Version:  svn-trunk                
Resolution:                |    Keywords:  wingrass                 
  Platform:  MSWindows XP  |         Cpu:  Unspecified              
---------------------------+------------------------------------------------

Comment(by glynn):

 Replying to [comment:51 mmetz]:

 > > WinGRASS isn't "compiled" against any version of Python.
 >
 > OK, but GRASS is compiled "with" a particular Python version, for
 ctypes.

 The ctypesgen program which generates the ctypes wrappers is a Python
 script. The generated ctypes wrappers don't depend upon the version of
 which Python was used to run ctypesgen.

 > And apparently wxversion is needed which is only available in a devel
 package (Linux).

 That would be a bug in the particular distribution. The Windows installers
 for wxPython include wxversion, and any sane Linux package for wxPython
 would do likewise. By separating wxversion from the main wxPython package,
 the distribution is effectively insisting that any wxPython-based code is
 customised for that specific distribution (i.e. is written for, and
 doesn't attempt to check for, that distribution's "official" wxPython
 version).

 > Should the existence of a working Python interpreter thus be the
 responsibility of the user? Should we therefore remove the bundled python
 from the wingrass installer? Because we do not want to interfere with an
 existing Python installation, we either do not include an official Python
 installer, or we do, but check first if any Python is already installed on
 the system.

 The latter is preferable, but more work. I.e. if Python is not installed,
 we should attempt to install it (via official installers) and required
 packages. If Python is installed, we should check that it's a compatible
 version, and attempt to install any required packages (wxPython, numpy,
 etc) for that specific version.

 > According to Helmut's report [comment:48] on the registry settings, I
 can not see any trace of the Python versions coming with Inkscape and
 !LibreOffice, but only of the Python version coming with ArcGIS.

 GUI "applications" don't require an installed Python. Typically, the
 Python interpreter is embedded in the application's main executable.
 Python scripts are only ever run from within that application. Often,
 scripts which are part of the application package wouldn't run elsewhere
 because they depend upon modules which are compiled into the application's
 executable.

 This doesn't work when we're trying to provide a command-line and/or
 scripting environment. Ultimately, people should be able to write scripts
 and run them e.g. from an icon on the desktop or from some other program
 which knows nothing about either GRASS or Python.

 (This depends in part upon fixing the installation process to make GRASS
 "sessions" an optional feature. I can't remember the last time I actually
 "started GRASS"; I just set up all of the environment variables in
 ~/.bash_profile so that GRASS commands work everywhere).

 > To phrase it provocatively, do we want to go the ESRI way or do we want
 to go the Inkscape and !LibreOffice way?

 ESRI way.

-- 
Ticket URL: <https://trac.osgeo.org/grass/ticket/580#comment:53>
GRASS GIS <http://grass.osgeo.org>



More information about the grass-dev mailing list