I've got both SEXTANTE and GRASS installed on my platform. GRASS-SEXTANTE report an error when I'm trying to create the Modeller, however, other tools (R) work fine in SEXTANTE. Do these tools have separate configurations? Please let me know about your experiences. Best, N
2 Answers
One method you might try to get GRASS commands to work in SEXTANTE involves how QGIS locates the external binaries needed to run those commands. Unless given explicitly defined paths, subprocesses in Python use the PATH
environment variable to search for external binaries. For GUI apps on Mac OS X, only /usr
paths are searched for binaries, not /usr/local
(or any custom PATH
you have set in your bash profile). GRASS's external binaries are, if using the Kyngchaos.com install, located in /Applications/GRASS-6.4.app/Contents/MacOS/bin/
, which is definitely a custom path.
There is some code in the source for the GRASS C++ plugin in QGIS to help with this, but not for Python plugins. Currently, the workaround is to allow your GUI apps to inherit your .bash_profile's (or other shell's) PATH
environment variable. Put the following in your .bash_profile, and/or maybe in your .bashrc after every other PATH
manipulation:
launchctl setenv PATH $PATH
This will allow GUI userland apps on a Mac to use your bash profile's custom PATH, which in turn, will allow QGIS, and its Python plugins to utilize the PATH
env variable. You will, of course, need to add the appropriate binary paths to PATH
in your shell profile.
However, it may not be appropriate to have PATH
passed for ALL your GUI apps. Use your judgment there. The real solution is to allow Mac users to set custom paths in the app Preferences that will be prepended to PATH
on restart of the app. I have just tested a method to do this with master branch source and it seems to work fine. Just need to make a GUI widget in Preferences for it.
There is a known bug in running R and GRASS in Sextante on OSX - but you indicate that R is working OK already for you? To fix:
You can edit the grassutils.py script in ~/.qgis/python/plugins/sextante/ following the instructions here.
To fix R, follow the instructions here on editing RUtils.py in the same directory.
Alternatively - try the QGIS nightly builds - I'm running the latest, which includes an updated Sextante 1.08; works very well.