[Qgis-user] help manageR to find the path.......
Darren Norris
doon75 at hotmail.com
Sun May 24 12:37:54 PDT 2009
Many thanks Carson,
I added the line to in __init__.py and manageRDialog.py (below), if I
added to just the manageRDialog.py I got the same can't find R error.
I have now just added to __init__.py and get the python error (see
below for full): "ImportError: No module named win32api" ...
Any suggestions?
One of the reasons I work with the Renviron.site file is that I switch
between R on a USB and R on laptops / desktops. This flexibility is very
useful for me and also means I don't require administrator access on
computers where I don't have such permission.
Would it be possible to have a file selector dialogue so a user can
simply "click" the path when manageR / Rpy can't find R? Or maybe a
dialogue that says this is the location of R that manageR will use, OK?
If not select the location.....
All the best, and many thanks for the great plugins.........
Darren
****File Specifications******
__init__.py:
import ConfigParser
import os.path
os.environ['R_HOME'] = "C:\Users\Darren\R\R-2.9.0\bin"
p = ConfigParser.ConfigParser()
here = os.path.join(os.path.dirname(__file__),"config.ini")
p.read(here)
manageRDialog.py:
import ConfigParser
import os.path
os.environ['R_HOME'] = "C:\Users\Darren\R\R-2.9.0\bin"
parser = ConfigParser.ConfigParser()
here = os.path.join( os.path.dirname( __file__ ),"config.ini" )
parser.read( here )
******************* Python error
********************************************************
An error has occured while executing Python code:
Traceback (most recent call last):
File "C:/Users/Darren/.qgis//python/plugins\manageR\manageR.py", line
49, in run
import manageRDialog
File "C:/Users/Darren/.qgis//python/plugins\manageR\manageRDialog.py",
line 26, in
from QLayerConverter import QVectorLayerConverter, QRasterLayerConverter
File
"C:/Users/Darren/.qgis//python/plugins\manageR\QLayerConverter.py", line
24, in
import rpy2.robjects as robjects
File "C:/Program Files/Quantum
GIS/./python\rpy2\robjects\__init__.py", line 12, in
import rpy2.rinterface as rinterface
File "C:/Program Files/Quantum
GIS/./python\rpy2\rinterface\__init__.py", line 39, in
import win32api
ImportError: No module named win32api
Python version:
2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)]
Python path:['C:/Program Files/Quantum GIS/./python',
'C:/Users/Darren/.qgis//python/plugins', 'C:/Program Files/Quantum
GIS/./python/plugins', 'C:\\Program Files\\Quantum
GIS\\bin\\python25.zip', '.\\DLLs', '.\\lib', '.\\lib\\plat-win',
'.\\lib\\lib-tk', 'C:\\Program Files\\Quantum GIS\\bin', 'C:\\Program
Files\\Quantum GIS\\python\\plugins\\fTools\\tools']
Carson Farmer wrote:
> Hi Darren,
>> Just installed manageR (0.6.10) on Windows Vista.
>> Qgis 1.0.2-Kore installed via standalone installer, R version is 2.9.
>> ManageR installed via the python plugin installer, following Carson's
>> guide at: http://www.ftools.ca/install.html
>>
>> Got a python error (below) and it looks like manageR can't find R.
>> This is not too surprising as I set HOME, R_USER etc via a
>> Renviron.site file.
>> So R is not in the registry and no environment variables are set.
>>
>> How do I show manageR where the R.exe file is??
> In this case you'll have to set an environment variable I think.
>
> The error that you posted comes up when the following fails:
>
> try:
> R_HOME = os.environ["R_HOME"]
> except KeyError:
> R_HOME = os.popen("R RHOME").readlines()
> if len(R_HOME) == 0:
> if sys.platform == 'win32':
> try:
> import win32api
> import win32con
> hkey = win32api.RegOpenKeyEx(win32con.HKEY_LOCAL_MACHINE,
> "Software\\R-core\\R",
> 0, win32con.KEY_QUERY_VALUE )
> R_HOME = win32api.RegQueryValueEx(hkey, "InstallPath")[0]
> win32api.RegCloseKey( hkey )
> except:
> raise RuntimeError(
> "Unable to determine R version from the registery." +\
> "Calling the command 'R RHOME' does not return
> anything.\n" +\
> "This might be because R.exe is nowhere in your
> Path.")
>
>
> So obviously if R isn't in the registry, and there is no R_HOME
> environment variable, Rpy (which is what manageR uses to talk to R)
> won't be able to find R. Essentially, you just need to specify the
> R_HOME environment variable as your R install path.
>
> The other option is to add something like:
>
> import os
> os.environ['R_HOME'] = "R/install/path"
>
> to line 20 of either __init__.py or manageRDialog.py in the manageR
> plugin directory.
>
> Hope that helps,
>
> Carson
>
>
More information about the Qgis-user
mailing list