[当我执行from rpy2.robjects import r
时出现错误:
>>> from rpy2.robjects import r
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/dist-packages/rpy2/robjects/__init__.py", line 27, in <module> from . import language
File "/usr/local/lib/python3.6/dist-packages/rpy2/robjects/language.py", line 16, in <module> _str2lang = ri.baseenv['str2lang']
File "/usr/local/lib/python3.6/dist-packages/rpy2/rinterface_lib/conversion.py", line 44, in _ cdata = function(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/rpy2/rinterface_lib/_rinterface_capi.py", line 282, in _robj = function(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/rpy2/rinterface_lib/sexp.py", line 355, in __getitem__
raise KeyError("'%s' not found" % key)
KeyError: "'str2lang' not found"
但是当我降级到3.2.0版时,一切正常。
有什么想法吗?
((Ubuntu 18.04,Python 3.6.8,rpy 3.3.2)
I also have this issue on mac using Jupyter Notebook
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-9-4f3164afa6d1> in <module>
----> 1 from rpy2 import robjects as robjects
/usr/local/lib/python3.7/site-packages/rpy2/robjects/__init__.py in <module>
25 from . import conversion
26 from . import vectors
---> 27 from . import language
28
29 from rpy2.rinterface import (Sexp,
/usr/local/lib/python3.7/site-packages/rpy2/robjects/language.py in <module>
14 _reval = ri.baseenv['eval']
15 _parse = ri.parse
---> 16 _str2lang = ri.baseenv['str2lang']
17
18
/usr/local/lib/python3.7/site-packages/rpy2/rinterface_lib/conversion.py in _(*args, **kwargs)
42 def _cdata_res_to_rinterface(function):
43 def _(*args, **kwargs):
---> 44 cdata = function(*args, **kwargs)
45 # TODO: test cdata is of the expected CType
46 return _cdata_to_rinterface(cdata)
/usr/local/lib/python3.7/site-packages/rpy2/rinterface_lib/_rinterface_capi.py in _(*args, **kwargs)
280 def _evaluated_promise(function):
281 def _(*args, **kwargs):
--> 282 robj = function(*args, **kwargs)
283 if _TYPEOF(robj) == openrlib.rlib.PROMSXP:
284 robj = openrlib.rlib.Rf_eval(
/usr/local/lib/python3.7/site-packages/rpy2/rinterface_lib/sexp.py in __getitem__(self, key)
353 # TODO: move check of R_UnboundValue to _rinterface
354 if res == openrlib.rlib.R_UnboundValue:
--> 355 raise KeyError("'%s' not found" % key)
356 return res
357
KeyError: "'str2lang' not found"