尝试使 Rpy2 2.1.9 与 R 2.12.1 一起使用时出现奇怪的问题,在 Windows xp 下使用 Python 2.6 - Rpy 找不到 R.dll?

2023-11-24

我一直在尝试让 Rpy2 与我的 R 安装兼容时遇到一个真正的问题。我首先尝试安装 rpy2 MSI 软件包,但这似乎不起作用。当我运行推荐的测试时,它给我一个错误,说它找不到 R.dll,因为新的 R 安装(2.11 后)将 DLL 安装到 i386 文件夹中,而 rpy2 找不到它们,因为它在 bin 文件夹而不是 bin/i386 文件夹中查找。

然后我尝试使用 python 附带的命令行工具(distutils)从头开始构建安装。这不起作用,因为 setup.py 声称无法找到 R_home 位置。但我确实发现编辑环境变量(PATH)可能会显示 rpy2 设置在哪里可以找到 R 安装。然后,我对环境进行了一些编辑,添加了指向 bin/i386 目录的“R_home”变量,并在 PATH 变量下创建了一个新条目,指向同一位置。

不幸的是,当它找到 R 路径时,我遇到了这个问题:

running build
running build_py
running build_ext
Traceback (most recent call last):
  File "setup.py", line 372, in <module>
    [os.path.join('doc', 'source', 'rpy2_logo.png')])]
  File "C:\Python26\lib\distutils\core.py", line 152, in setup
    dist.run_commands()
  File "C:\Python26\lib\distutils\dist.py", line 975, in run_commands
    self.run_command(cmd)
  File "C:\Python26\lib\distutils\dist.py", line 995, in run_command
    cmd_obj.run()
  File "C:\Python26\lib\distutils\command\build.py", line 134, in run
    self.run_command(cmd_name)
  File "C:\Python26\lib\distutils\cmd.py", line 333, in run_command
    self.distribution.run_command(command)
  File "C:\Python26\lib\distutils\dist.py", line 994, in run_command
    cmd_obj.ensure_finalized()
  File "C:\Python26\lib\distutils\cmd.py", line 117, in ensure_finalized
    self.finalize_options()
  File "setup.py", line 111, in finalize_options
    config += get_rconfig(r_home, about)
  File "setup.py", line 264, in get_rconfig
    rc = RConfig.from_string(rconfig)
  File "setup.py", line 252, in from_string
    + '\nin string\n' + string)
ValueError: Invalid substring in string

因此,我重新尝试使用预制安装,认为对环境的新编辑可能会起作用,但在这里遇到了这个问题

 Traceback (most recent call last):
      File "<string>", line 245, in run_nodebug
      File "C:\Documents and Settings\User\Desktop\rpy2-2.1.9\rpy\tests.py", line 3, in <module>
        import rpy2.robjects.tests
      File "C:\Python26\lib\site-packages\rpy2\robjects\__init__.py", line 12, in <module>
        import rpy2.rinterface as rinterface
      File "C:\Python26\lib\site-packages\rpy2\rinterface\__init__.py", line 56, in <module>
        raise RuntimeError("Unable to locate R.dll within %s" % R_HOME)
    RuntimeError: Unable to locate R.dll within C:\Program Files\R\R-2.12.1\bin\i386

这真的很奇怪,因为(任何人都可以检查自己的安装)R 将 R.dll 安装到“C:\Program Files\R\R-2.12.1\bin\i386”中,并且我已经检查并验证了它的在那里,我已将 rpy2 指向 Windows 默认路径中的这个目录!我知道 rpy2 正在寻找正确的位置,但无法理解为什么它没有看到 R.dll。

那为什么rpy2找不到呢?有谁知道如何让 rpy2 与 R 2.12 一起工作?也许我应该尝试更新的 rpy2 2.2.0 版本?不过它仍在开发中,根据这个,1.9 应该能够处理 R 2.12website所以我不知道该怎么办...

感谢任何可以提供帮助的人...

[编辑]我也尝试过这些说明here但它们返回相同的“找不到 DLL”错误...除非您更改环境变量“R_home”以直接指向 c/program files/R/R 2.12 目录而不是 i386 子目录。

如果它指向正确的位置,您就会收到这些错误。这看起来更有希望......但它仍然很糟糕!

.......................F....................................F.FFF...F....................................................................F..................................
======================================================================
FAIL: testNewWithoutInit (rpy2.rinterface.tests.test_SexpVector.SexpVectorTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Python26\lib\site-packages\rpy2\rinterface\tests\test_SexpVector.py", line 43, in testNewWithoutInit
    self.assertTrue(False) # worked when tested, but calling endEmbeddedR causes trouble
AssertionError

======================================================================
FAIL: testCallErrorWhenEndedR (rpy2.rinterface.tests.test_EmbeddedR.EmbeddedRTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Python26\lib\site-packages\rpy2\rinterface\tests\test_EmbeddedR.py", line 122, in testCallErrorWhenEndedR
    self.assertTrue(False) # worked when tested, but calling endEmbeddedR causes trouble
AssertionError

======================================================================
FAIL: testReadConsoleWithError (rpy2.rinterface.tests.test_EmbeddedR.EmbeddedRTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Python26\lib\site-packages\rpy2\rinterface\tests\test_EmbeddedR.py", line 117, in testReadConsoleWithError
    self.assertTrue(errorstring.startswith('Traceback'))
AssertionError

======================================================================
FAIL: testSetReadConsole (rpy2.rinterface.tests.test_EmbeddedR.EmbeddedRTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Python26\lib\site-packages\rpy2\rinterface\tests\test_EmbeddedR.py", line 97, in testSetReadConsole
    self.assertEquals(yes.strip(), res[0])
AssertionError: 'yes' != ''

======================================================================
FAIL: testSetWriteConsole (rpy2.rinterface.tests.test_EmbeddedR.EmbeddedRTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Python26\lib\site-packages\rpy2\rinterface\tests\test_EmbeddedR.py", line 36, in testSetWriteConsole
    self.assertEquals('[1] "3"\n', str.join('', buf))
AssertionError: '[1] "3"\n' != ''

======================================================================
FAIL: testWriteConsoleWithError (rpy2.rinterface.tests.test_EmbeddedR.EmbeddedRTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Python26\lib\site-packages\rpy2\rinterface\tests\test_EmbeddedR.py", line 55, in testWriteConsoleWithError
    self.assertTrue(errorstring.startswith('Traceback'))
AssertionError

======================================================================
FAIL: testVectorUnicodeCharacter (rpy2.robjects.tests.testNumpyConversions.NumpyConversionsTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Python26\lib\site-packages\rpy2\robjects\tests\testNumpyConversions.py", line 54, in testVectorUnicodeCharacter
    self.assertTrue(False) # arrays of unicode characters causing segfault
AssertionError

----------------------------------------------------------------------
Ran 172 tests in 0.407s

FAILED (failures=7)
Exit code:  True

经过几个小时在网上搜索并尝试了许多不同的事情,其中​​包括遇到与上述相同的问题,我终于让 Rpy2 在我的 Windows 7 计算机上运行了!

基本上,关键的帮助来自这个线程:http://www.mail-archive.com/[电子邮件受保护]/msg03348.html.

总之,这些是在 Windows7 上启动并运行 rpy2 的步骤:

  1. 从此链接安装 rpy2:https://bitbucket.org/breisfeld/rpy2_w32_fix/issue/1/binary-installer-for-win32
  2. 将 R.dll 的路径添加到环境变量 PATH (在我的例子中为 C:\Program Files\R\R-2.12.1\bin\i386)
  3. 添加环境变量 R_HOME (在我的例子中为 C:\Program Files\R\R-2.12.1)
  4. 添加环境变量 R_USER (只是我在 Windows 中的用户名)
  5. 重新启动你的Python IDE(否则环境变量不会重新加载!)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试使 Rpy2 2.1.9 与 R 2.12.1 一起使用时出现奇怪的问题,在 Windows xp 下使用 Python 2.6 - Rpy 找不到 R.dll? 的相关文章

  • Series.sort() 和 Series.order() 有什么区别?

    s pd Series nr randint 0 10 5 index nr randint 0 10 5 s Output 1 3 7 6 2 0 9 7 1 6 order 按值排序并返回一个新系列 s order Output 2 0
  • R:igraph、社区检测、edge. Betweenness 方法、统计/列出每个社区的成员?

    我有一个相对较大的图表 其中顶点 524 边 1125 是现实世界的交易 边是有向的并且具有权重 包含是可选的 我正在尝试调查图中的各个社区 并且本质上需要一种方法 计算所有可能的社区 计算最佳社区数量 返回每个 最佳 社区的成员 成员数量
  • 使用python从gst管道抓取帧到opencv

    我在用着OpenCV http opencv org 和GStreamer0 10 我使用此管道通过自定义套接字通过 UDP 接收 MPEG ts 数据包sockfd由 python 提供并显示它xvimagesink 而且效果很好 以下命
  • MD 和 MKDIR 批处理命令有什么区别?

    这两个命令都会创建文件夹 我read http www computerhope com mdhlp htmMKDIR 甚至可以创建子文件夹 这只是区别吗 为什么有两个命令做同样的事情 我应该使用哪一个 除了 npocmaka 的answe
  • python 中的 <> 运算符有什么作用?

    我刚刚遇到这个here http www feedparser org feedparser py 总是这样使用 if string1 find string2 lt gt 1 pass 什么是 lt gt 运算符这样做 为什么不使用通常的
  • do.call 的 envir 选项如何工作?

    的文档do call states If quote is FALSE 默认值 然后对参数进行求值 在调用环境中 而不是在envir 这句话向我暗示 当quote FALSE 指定envir没有什么区别 然而 事实并非如此 事实上我遇到过需
  • python中basestring和types.StringType之间的区别?

    有什么区别 isinstance foo types StringType and isinstance foo basestring 对于Python2 basestring是两者的基类str and unicode while type
  • 调整屏幕和字体设置的 WPF 应用程序(或者,我如何将 DLU 与 WPF 中的单元相关联?)

    在MFC中 对话框的设计使用DLUs http msdn microsoft com en us library bb847924 aspx 在 WPF 中 我们以 1 96 英寸为单位指定 虽然这确实会缩放窗口和视觉元素 但我们如何使 W
  • Ubuntu systemd 自定义服务因 python 脚本而失败

    希望获得有关 Ubuntu 中的 systemd 守护进程服务的一些帮助 我写了一个 python 脚本来禁用 Dell XPS 上的触摸屏 这更像是一个问题 而不是一个有用的功能 该脚本可以工作 但我不想一直启动它 这就是为什么我想到编写
  • 在骨架图像中查找线 OpenCV python

    我有以下图片 我想找到一些线来进行一些计算 平均长度等 我尝试使用HoughLinesP 但它找不到线 我能怎么做 这是我的代码 sk skeleton mask rows cols sk shape imgOut np zeros row
  • 包什么时候需要为它自己的对象使用 :::

    考虑这个 R 包有两个函数 一个是导出函数 另一个是内部函数 hello R export hello lt function internalFunctions hello internal 你好 内部 R hello internal
  • 使用 Python 将连续日期分组在一起

    Given dates datetime 2014 10 11 datetime 2014 10 1 datetime 2014 10 2 datetime 2014 10 3 datetime 2014 10 5 datetime 201
  • 如何从 Ant 启动聚合 jetty-server JAR?

    背景 免责声明 I have veryJava 经验很少 我们之前在 Ant 构建期间使用了 Jetty 6 的包装版本来处理按需静态内容 JS CSS 图像 HTML 因此我们可以使用 PhantomJS 针对 HTTP 托管环境运行单元
  • 使用 gcc 时在头文件中查找定义的好方法是什么?

    在使用 gcc 时 有人有推荐的方法在头文件中查找定义吗 使用 MSVC 时 我只需右键单击并选择 转到定义 这非常好 我使用过 netbeans gcc 它确实有代码帮助 包括到定义的超链接 所以这是一种选择 但是 我想知道是否有任何其他
  • AWS Lambda 不读取环境变量

    我正在编写一个 python 脚本来查询 Qualys API 中的漏洞元数据 我在 AWS 中将其作为 lambda 函数执行 我已经在控制台中设置了环境变量 但是当我执行函数时 出现以下错误 module initialization
  • 如何在复杂的皂膜GAM中设置更平滑的边界条件?

    我正在对南太平洋岛屿泻湖中宽吻海豚的分布进行建模 我想使用肥皂膜平滑器来模拟海豚在二维表面 经度 x 纬度 上存在的概率 考虑到陆地边界 显然海豚不能在陆地上行走 我想知道如何将我的研究区域 陆地和近海水域 的边界固定为等于零的条件 因为我
  • Django 管理器链接

    我想知道是否有可能 如果可以的话 如何 将多个管理器链接在一起以生成受两个单独管理器影响的查询集 我将解释我正在研究的具体示例 我有多个抽象模型类 用于为其他模型提供小型的特定功能 其中两个模型是DeleteMixin 和GlobalMix
  • 二部图匹配以匹配两个集合

    我是新手igraphR 中的包 我有两套A and B 每个都有N顶点 A1 A2 AN and B1 B2 BN 每个元素之间都有一个边缘A对每一个元素B 我有一个函数fWgt Ai Bj 返回之间的边的权重Ai and Bj 我一直在尝
  • python从二进制文件中读取16字节长的双精度值

    我找到了蟒蛇struct unpack 读取其他程序生成的二进制数据非常方便 问题 如何阅读16 字节长双精度数出二进制文件 以下 C 代码将 1 01 写入二进制文件三次 分别使用 4 字节浮点型 8 字节双精度型和 16 字节长双精度型
  • 用于插入或替换 URL 参数的 Django 模板标签

    有人知道 Django 模板标签可以获取当前路径和查询字符串并插入或替换查询字符串值吗 例如向 some custom path q how now brown cow page 3 filter person 发出请求 电话 urlpar

随机推荐

  • 使用 qmake 时是否有可能通过 -isystem 传递包含

    我使用 qmake 作为 makefile 生成器并希望坚持使用它 此外 我想使用 gcc Wall Werror Wundef Wextra 来获得健壮的代码 我正在考虑 迂腐 但那是更进一步的事情 我目前的主要问题是像这样的库生成的大量
  • 访问 .NET 中 VBA 函数的返回值?

    我在 VBA 中有以下代码 位于 Excel 2007 工作簿中 Public Function Multiply a As Double b As Double As Double Multiply a b End Function 如果
  • 如何可靠地从 AttributeSet 获取颜色?

    我想创建一个自定义类 在 Android XML 文件中布局时将颜色作为其属性之一 然而 颜色可以是一种资源 也可以是多种直接颜色规范之一 例如十六进制值 有没有一种简单的首选方法来使用AttributeSet检索颜色 因为表示颜色的整数可
  • 在终端中运行文本文件

    有谁知道是否有办法在 shell 中自动运行命令列表 来自文本文件 我需要运行很多脚本 大约 1000 个 这些脚本采用 python 语言 每个有 2 个参数 dir 和 example 我制作的文本文件看起来像这样 python hom
  • SpringHibernateJpaPersistenceProvider 类未实现请求的接口 PersistenceProvider

    我很困惑 我已经好几年没有使用过 Hibernate 了 然后就再也没有使用过 Spring Boot Spring Boot 但从未与 Hibernate 或 JPA 一起使用 所以我想弄清楚如何让它为我的工作工作 我应该在周一演示一些东
  • F#:重载函数

    我的问题与此有些相关 具有泛型参数类型的函数 但我不太清楚如何做我想做的事 我想定义一个 后代函数 来包装对各种 C 类上 后代 的调用 如下所示 让后代名称 xDocument XDocument xDocument 后代名称 让后代名称
  • 错误 310(net::ERR_TOO_MANY_REDIRECTS):

    我在本地主机上没有收到此错误 只有当我上传到我的服务器时 此错误才会出现在我的页面之一上 知道我需要改变什么吗 我在网络浏览器中遇到了这个错误 其中我访问的网页重定向到另一个网页 该网页无限地重定向回原始页面 我还遇到过编程错误不断重新加载
  • 针对多个快速请求的 .htaccess 或 PHP 保护代码

    我正在寻找如何阻止外部脚本与我的网站连接的想法 我正在寻找谷歌背后同样的想法 就像在一定时间内发出一定数量的请求然后阻止 IP 地址或其他内容一样 我想也许有一个 htaccess 解决方案 如果没有 我会写一个 PHP 解决方案 非常感谢
  • 根据参数的真实类型选择重载方法

    我正在尝试这段代码 interface Callee public void foo Object o public void foo String s public void foo Integer i class CalleeImpl
  • 使用 jQuery 在文本区域中的光标位置创建工具提示

    我正在尝试在文本区域中的输入插入符号上方创建一个工具提示 如果我能够获得文本区域中插入符号的 x y 坐标 这将很容易 但是我已经搜索了一段时间 但不知道如何做到这一点 假设用户正在文本区域中输入内容 然后按某个键 例如 符号 我试图在文本
  • SQLAlchemy 中不区分大小写的字符串列?

    我可以在 sqlalchemy 中创建不区分大小写的字符串列吗 我正在使用 sqlite 并且可能有一种方法可以通过更改排序规则来通过数据库来完成此操作 但我想将其保留在 sqlalchemy python 中 在 SQLAlchemy 0
  • QQ剧情:多于两条数据

    我想画一个类似于这张图的QQ图 我设法使用两个样本获得了 QQ 图 但我不知道如何将第三个样本添加到图中 这是我的结果 这是我使用的代码 qqplot table Bedouin table Tunisia xlim c 0 25 0 25
  • 如何使用 XMLStarlet 将一个元素直接插入到另一个元素之后?

    对于这个 XML 示例
  • PHP 中的 Yield 是什么意思?

    我最近偶然发现了这段代码 function xrange min max for i min i lt max i yield i 我从没见过这个yield之前的关键字 尝试运行我得到的代码 解析错误 语法错误 第 x 行出现意外的 T V
  • TestNG 与 IntelliJ IDEA:如何在 IntelliJ IDEA 9 中使用 testng.xml 文件

    我能够在 IntelliJ 中运行 TestNG 单元测试并在窗口中查看通过 失败输出 这是没有使用任何testng xml文件 我还可以使用 maven 在命令行中运行测试 即mvn clean test Dgroups fast 效果很
  • 我应该将 sqlite 数据库文件写入文档目录还是库/缓存吗?

    我已经阅读了 Apple 的数据存储指南 并且对于应该将我在应用程序中创建的 sqlite 数据库文件保存在哪里感到非常困惑 即使应用程序处于离线模式 我也想读取 sqlite 文件 我读到创建的此类文件应该保存在库 缓存中 并设置 不备份
  • 如何在 alpine Dockerfile 中创建并添加带密码的用户?

    下列Dockerfile在 Ubuntu 上运行良好 FROM ubuntu 20 04 SHELL bin bash c ARG user hakond ARG home home user RUN useradd create home
  • 如何在 datagridview 列中显示枚举值

    我有这个数据库 不是我设计的 但我必须使用它 其中包含一个如下表 id Name status 1 Product1 2 2 Product2 2 3 Product3 3 status 属性指的是一个枚举 其中 0 Invalid 1 D
  • jQuery 选择其中属性 = 值

    我正在尝试选择一个值等于动态值的输入 trimmed jQuery trim a preSelectedCheckBox this find input value trimmed 该元素存在 但我始终没有返回任何值 preSelected
  • 尝试使 Rpy2 2.1.9 与 R 2.12.1 一起使用时出现奇怪的问题,在 Windows xp 下使用 Python 2.6 - Rpy 找不到 R.dll?

    我一直在尝试让 Rpy2 与我的 R 安装兼容时遇到一个真正的问题 我首先尝试安装 rpy2 MSI 软件包 但这似乎不起作用 当我运行推荐的测试时 它给我一个错误 说它找不到 R dll 因为新的 R 安装 2 11 后 将 DLL 安装