我目前正试图在同一个木星笔记本中同时使用R和Python。我成功地安装了rpy2;如果我试图用R(将%%R放在开头)编写什么东西,一切都可以工作,但是一旦我尝试使用一个库,就会出现以下错误:
重写到控制台:错误库(包的名称):没有包的名称-名称
如果我尝试使用R Studio中的同一个库(而不是在木星中),那么一切都能工作。
这是代码给我带来的麻烦:
import os
os.environ['R_HOME'] = r'C:/PROGRA~1/R/R-40~1.0'
os.environ['path'] += r';C:/PROGRA~1/R/R-40~1.0\bin;'
%load_ext rpy2.ipython
%%R
library(readr)在这最后一行之后,将出现以下错误:
重写到控制台:库中的错误(Readr):没有名为“readr”的包
库中的错误(Readr):没有名为“readr”的跟踪包(最近一次调用)~\anaconda3 3\envs\在Cattolica2020\lib\site-packages\rpy2\ipython\rmagic.py中(自我,如果代码中的最后一行是注释,则267 #需要换行符。->268个值,visible = ro.r("withVisible({%s\n})“%代码) 269除(ri.embedded.RRuntimeError,ValueError)为例外:
~\anaconda3\envs\Cattolica2020\lib\site-packages\rpy2\robjects_init_.py in call(self,string) 415 p= rinterface.parse(string) --> 416 res = self.eval(p) 417返回conversion.rpy2py(res)
~\anaconda3\envs\Cattolica2020\lib\site-packages\rpy2\robjects\functions.py in call(self,*args,**kwargs) 196 kwargsr_k =v-> 197返回(SignatureTranslatedFunction,self) 198 .call(*args,**kwargs)
~\anaconda3\envs\Cattolica2020\lib\site-packages\rpy2\robjects\functions.py in call(self,*args,**kwargs) 124 new_kwargsk = conversion.py2rpy(v) --> 125 res = super(Function,self).call(*new_args,**new_kwargs) 126 res = conversion.rpy2py(res)
~\anaconda3\envs\Cattolica2020\lib\site-packages\rpy2\rinterface_lib\conversion.py in _(*args,**kwargs) 43 def _(*args,**kwargs):--> 44 cdata =函数(*args,**kwargs) 45 # TODO:测试cdata是预期的CType
~\anaconda3\envs\Cattolica2020\lib\site-packages\rpy2\rinterface.py in call(self,*args,**kwargs) 623如果error_occured:-> 624引发embedded.RRuntimeError(_rinterface._geterrmessage()) 625返回res
RRuntimeError:库中的错误(Readr):没有名为“readr”的包
在处理上述异常的过程中,发生了另一个异常:
~\anaconda3\envs\Cattolica2020\lib\site-packages\rpy2\ipython\rmagic.py in R(self,line,cell,local_ns) 762其他:-> 763 text_result,结果,可见=self.eval(代码) 764 text_output += text_result
~\anaconda3\envs\Cattolica2020\lib\site-packages\rpy2\ipython\rmagic.py in eval(self,code) 271 warning_or_other_msg = self.flush() --> 272 self.flush RInterpreterError(代码,str(异常),273 warning_or_other_msg)
RInterpreterError:未能解析和计算行“库(Readr)\n”。R错误信息:“库中的错误”(Readr):没有名为“readr”的包
在处理上述异常的过程中,发生了另一个异常:
PermissionError跟踪(最近调用) in
~\anaconda3\envs\Cattolica2020\lib\site-packages\IPython\core\interactiveshell.py in run_cell_magic(self,magic_name,line,cell) 2379
使用self.builtin_trap: 2380args= (magic_arg_s,cell) -> 2381结果= fn(* args,**kwargs) 2382返回结果2383
R(self,line,cell,local_ns)
~\anaconda3\envs\Cattolica2020\lib\site-packages\IPython\core\magic.py在(f,*a,**k) 185 #中,但是对于这种状态,它是过分的。186 def magic_deco(arg):-> 187 call = lambda,*a,**k: f(*a,**k) 188 189,如果可调用(Arg):
~\anaconda3\envs\Cattolica2020\lib\site-packages\rpy2\ipython\rmagic.py in R(self,line,cell,local_ns) 782打印(e.err) 783如果tmpd:-> 784 rmtree(tmpd) 785最终返回786:
rmtree中的~\anaconda3\envs\Cattolica2020\lib\shutil.py (path,ignore_errors,onerror) 735 #不能继续,即使onerror钩子返回736返回--> 737返回_rmtree_unsafe(路径,onerror) 738739#允许内省是否存在针对符号链接的硬化
~\anaconda3\envs\Cattolica2020\lib\shutil.py in _rmtree_unsafe(path,onerror) 613 os.unlink(全名) 614 ( OSError:-> 615 onerror(os.unlink,fullname,sys.exc_info()) 616 try: 617 os.rmdir(path)
~\anaconda3\envs\Cattolica2020\lib\shutil.py in _rmtree_unsafe(path,onerror) 611其他: 612尝试:-> 613 os.unlink(全名) 614除了OSError: 615 onerror(os.unlink,fullname,sys.exc_info())
PermissionError: WinError 32 Impossibile文件。Il fileèutilizzato da un altro processo:'C:\Users\User\AppData\Local\Temp\tmp82eo8sb4\Rplots001.png‘
我还试图验证木星和R的库目录是否相同,我获得了相同的两个目录:
1“C:/User/User/Documents/R/win-library/4.0”2 "C:/Program /R/R-4.0.0/
我目前正在使用R4.0.0和Python3.8.3
发布于 2020-10-24 17:32:26
异常RRuntimeError通常只是将R在执行过程中自己生成的异常转发给Python。
错误消息说R找不到库。如果你真的确信RStudio和木星都使用相同的R安装,那么两者之间的区别将来自于RStudio被指示在更多的目录中查找安装的R包,而不是从木星开始的R。
在RStudio中运行以下命令以了解从何处加载readr:
library(dplyr)
as_data_frame(installed.packages()) %>%
filter(Package == "readr") %>%
select(Package, LibPath)https://stackoverflow.com/questions/64498353
复制相似问题