6

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 2

2

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.

1

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.