gpt4 book ai didi

python - RPY2:进口商因 .Renviron 失败

转载 作者:行者123 更新时间:2023-11-28 17:52:58 25 4
gpt4 key购买 nike

下面是使用 rpy2.robjects.packages.importr 基本 R 包(例如 stats)应该发生的事情:

>>> from rpy2.robjects.packages import importr
>>> importr('stats')
<rpy2.robjects.packages.SignatureTranslatedPackage object at 0x7f3810>

但使用外部包(例如 ggplot2),结果如下:

>>> importr('ggplot2')
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called 'ggplot2'
Error in .Primitive("as.environment")("package:ggplot2") :
no item called "package:ggplot2" on the search list
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/7.0/lib/python2.7/site-packages/rpy2/robjects/packages.py", line 100, in importr
env = _as_env(rinterface.StrSexpVector(['package:'+name, ]))
rpy2.rinterface.RRuntimeError: Error in .Primitive("as.environment")("package:ggplot2") :
no item called "package:ggplot2" on the search list

复杂的是,在我的主目录中,我有文件 .Renviron 定义了我的用户库位置(例如,ggplot2 库所在的位置),并且我有使用 RRscript 的 R 命令 library()require() 都没有问题。路径看起来像这样:

R_LIBS_USER="/path/to/my/packages"

所以我的问题是为什么我的用户库路径被排除在 Rpy2 使用的“搜索列表”之外?或者,更确切地说,我如何指示 Rpy2 也查看 R_LIBS_USER 路径?

我假设问题源于 Rpy2 使用的环境,但我在这方面的无知程度很高。

R: 2.13.0
Platform: x86_64-apple-darwin9.8.0/x86_64 (Mac, 10.6, 64-bit)

复制为

Rpy2: 2.1.8, 2.2.1 (dev)

我经常使用 R、ggplot2 和 python,因此非常欢迎任何见解。

最佳答案

默认情况下,rpy2 在“vanilla”模式下初始化,这会忽略 R_LIBS 和 friend 。

>>> import rpy2.rinterface 
>>> rpy2.rinterface.get_initoptions()
('rpy2', '--quiet', '--vanilla', '--no-save')
>>>

您可以使用“rinterface.set_initoptions()”来更改它们。

例如:

import rpy2.rinterface as ri
ri.set_initoptions(('rpy2', '--verbose', '--no-save'))
ri.initr()

# from now on, just import the rest of rpy2 modules without thinking of the above.

关于python - RPY2:进口商因 .Renviron 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6364082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com