首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在packrat环境中使用rpy2?

如何在packrat环境中使用rpy2?
EN

Stack Overflow用户
提问于 2018-11-28 05:46:10
回答 2查看 141关注 0票数 1

我尝试使用一个R包,这个R包是使用R包'packrat‘安装的,它允许创建一个类似于python中的virtuanlenv的虚拟环境。但我没有成功。

在使用R的控制台中,我可以成功运行以下代码:

代码语言:javascript
复制
cd /path/to/packrat/environment
R # this launch a R console in the packrat environment
library(mycustompackage)
result = mycustompackage::myfunc()
q()

我也想使用rpy2来做同样的事情,但是我无法激活packrat环境。下面是我测试失败的内容。

代码语言:javascript
复制
from rpy2.robjects import r
from rpy2.robjects.packages import importr

packrat_dir = r.setwd('/path/to/packrat/environment')
importr('mycustompackage')
result = r.mycustompackage.myfunc()

但它在'importr‘失败,因为它找不到包'mycustompackage’。要么不成功:

代码语言:javascript
复制
importr('mycustompackage', lib_loc='/path/to/packrat/environment')

两者都不是:

代码语言:javascript
复制
os.environ['R_HOME'] = '/path/to/packrat/environment'
importr('mycustompackage', lib_loc ='/path/to/packrat/environment')  

关于如何在packrat环境中使用rpy2有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2018-11-28 08:51:04

我不熟悉R包packrat,但我注意到bash +R和Python/rpy2代码有一个细微的差别,这可能很重要:在bash +R的情况下,当R启动时,它已经在您的packrat项目目录中,而在Python / rpy2的情况下,R从不同的目录开始,并使用setwd()移动到packrat项目目录中。

我读到packrat正在使用一个文件.Rprofile (https://rstudio.github.io/packrat/limitations.html),如果在当前目录中,则在启动时由R评估。我怀疑问题在于packrat的使用方式,而不是rpy2的问题。

票数 1
EN

Stack Overflow用户

发布于 2018-11-28 17:24:17

非常好的注释(隐藏文件=被遗忘的文件)。我发现了如何让它运行:

代码语言:javascript
复制
from rpy2.robjects import r
from rpy2.robjects.packages import importr

# Init the packrat environment
r.setwd('/path/to/packrat/environment')
r.source('.Rprofile')

# use the packages it contains
importr('mycustompackage')    
result = r.myfunc()

lgautier,你让我很开心,非常感谢。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53508674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档