【问题标题】:Rpy2 in python (AWS EC2): Syntax error: _cdata: FFI.CDatapython (AWS EC2) 中的 Rpy2:语法错误:_cdata:FFI.CData
【发布时间】:2021-10-01 06:00:59
【问题描述】:

我正在尝试调用 rpy2.robjects,它给出了下面提到的错误。我在 python 3.5.10 中使用 rpy2 包(3.4.5)。 R安装的版本是3.4.1。

import rpy2.robjects as ro

Traceback (most recent call last):

  File "test.py", line 1, in <module>

    import rpy2.robjects
  File "/usr/local/lib64/python3.5/site-packages/rpy2/robjects/__init__.py", line 16, in <module>

    import rpy2.rinterface as rinterface
  File "/usr/local/lib64/python3.5/site-packages/rpy2/rinterface.py", line 13, in <module>

    import rpy2.rinterface_lib._rinterface_capi as _rinterface
  File "/usr/local/lib64/python3.5/site-packages/rpy2/rinterface_lib/_rinterface_capi.py", line 97

    _cdata: FFI.CData
          ^
Syntax error : invalid syntax

[Rp2_error][1]

我正在从需要从 python 调用 R 函数的 AWS EC2 实例运行此命令。

设置 R_HOME 后,相同的命令在 windows 中运行。

在 EC2 实例中,为 R_HOME 尝试了 2 条路径,

os.environ['R_HOME'] = '/usr/lib64/R/'

'/usr/bin/R' 在这两种情况下问题仍然存在。

R.home 是 '/usr/lib64/R/'(R 提示符)

【问题讨论】:

    标签: r python-3.x amazon-ec2 rpy2


    【解决方案1】:

    rpy2 3.4.x 需要 Python >=3.6,如文档 (installation section) 中所述。您看到的错误是因为 Python 3.5 不支持打字。

    您需要升级您的 Python 版本。 Python 3.5 支持于 1 年前结束,使用它并不安全 - 您可能会遇到未修补的安全漏洞。鉴于对 3.6 的支持将在两个月后结束,我建议直接升级到 3.7 或 3.8。

    【讨论】:

      猜你喜欢
      • 2015-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-10
      • 1970-01-01
      相关资源
      最近更新 更多