[GRASS-dev] changing %HOME% in winGRASS for a better R-winGRASS-integration - discussion
Helmut Kudrnovsky
hellik at web.de
Fri Nov 18 06:14:28 PST 2016
hi devs,
the subject question oroginates from
[GRASS-stats] GRASS can't find R packages from personal library on Windows
https://lists.osgeo.org/pipermail/grass-stats/2016-November/001690.html
technical background on winGRASS side:
%HOME% is defined in winGRASS by:
for trunk
https://trac.osgeo.org/grass/browser/grass/trunk/lib/init/grass.py#L712
712 def ensure_home():
713 """Set HOME if not set on MS Windows"""
714 if windows and not os.getenv('HOME'):
715 os.environ['HOME'] = os.path.join(os.getenv('HOMEDRIVE'),
716 os.getenv('HOMEPATH'))
and for the 7.0.x-line
https://trac.osgeo.org/grass/browser/grass/branches/releasebranch_7_0/lib/init/grass.py#L1338
1338 # set HOME
1339 if windows and not os.getenv('HOME'):
1340 os.environ['HOME'] = os.path.join(os.getenv('HOMEDRIVE'),
1341 os.getenv('HOMEPATH'))
both definitions turn out to be (on the most newer windows boxes) the same
as %USERPROFILE% (e.g C:\Users\yourusername).
technical background on R side:
if %HOME% is _unset_ on windows, R looks for private libraries in
C:\Users\yourusername\Documents\R\win-library\3.3, etc)
but if %HOME% is _set_ on windows, R looks for private libraries on the
wrong place (C:\Users\yourusername\R\win-library\3.3, etc.) <= see the
missing _Documents_ as opposite to above search path for private libraries;
thus R can't expand its search path to private libraries, as these are
installed by default in C:\Users\yourusername\Documents\R\win-library\3.3,
etc.
some ways to overcome this R-winGRASS-integration issue:
(1) add some notes in the GRASS-wiki to add manually R_LIBS_USER (=path to
private library in R) via the windows control panel permanently or temporary
in the winGRASS-command console by e.g. set
R_LIBS_USER=path/to/your/private/
(2) add some notes in the GRASS-wiki how to add R_LIBS_USER in a R session.
(3) add some logic in the windows-winGRASS-bat-start up scripts to add
R_LIBS_USER
(4) add some logic in the (win)GRASS-startup-GUI to define R_LIBS_USER
(5) or see [1] to set %HOME% in windows to %USERPROFILE/Documents instead of
%USERPROFILE%
add following line
SET HOME=%USERPROFILE%\Documents
below
https://trac.osgeo.org/grass/browser/grass/trunk/mswindows/env.bat#L23
to catch the most common R private library installations.
I couldn't find any hints in the source where %HOME% is used in winGRASS
modules/scripts.
any opinion? any objection? any additions?
[1] https://lists.osgeo.org/pipermail/grass-stats/2016-November/001705.html
-----
best regards
Helmut
--
View this message in context: http://osgeo-org.1560.x6.nabble.com/changing-HOME-in-winGRASS-for-a-better-R-winGRASS-integration-discussion-tp5296480.html
Sent from the Grass - Dev mailing list archive at Nabble.com.
More information about the grass-dev
mailing list