【问题标题】:Rpy2 on windowsWindows上的Rpy2
【发布时间】:2020-05-30 04:54:48
【问题描述】:

我想在我的 windows 机器上安装 rpy2,它给了我以下著名的错误

      self.convert_pycparser_error(e, csource)
      File "c:\users\96171\appdata\local\temp\pip-install-lxsxk7q4\rpy2\.eggs\cffi-1.14.0-py3.6-win-amd64.egg\cffi\cparser.py", line 336, in convert_pycparser_error
        raise CDefError(msg)
    cffi.CDefError: cannot parse "void __cffi_extern_python_start; void _capsule_finalizer(SEXP); void __cffi_extern_python_stop;"
    <cdef source string>:495:96: Illegal character '\r'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\96171\AppData\Local\Temp\pip-install-lxsxk7q4\rpy2\

我做了以下事情:

  • 升级的设置工具
  • 将 pip 升级到最新版本

我已经点击链接here 在 Windows 上安装 rpy2,他们说我们必须下载预编译的二进制文件才能使其正常工作。

我已经从followinf link下载了这个轮子: rpy2‑2.9.5‑cp37‑cp37m‑win_amd64.whl 但是我仍然遇到麻烦;我做了如下:

  • 下载后rpy2‑2.9.5‑cp37‑cp37m‑win_amd64.whl
  • 我在下载轮子的目录下以管理员身份打开cmd
  • 我在系统变量中将%R_USER% 设置为我的用户名:R_USER C:\Users\my_username 但是我收到以下错误:

ERROR: rpy2-2.9.5-cp37-cp37m-win_amd64.whl is not a supported wheel on this platform.

binaries 的网站上他们说:

Rpy2(已停产,不稳定):提供对 R 软件环境的访问,用于统计计算和图形。 需要 R 3.3,我的系统上有 R 3.6.2。这是导致错误的原因吗?

【问题讨论】:

  • 所有从二进制站点下载的轮子必须符合您的机器(操作系统,32/64 位架构,Python 版本)。

标签: r installation package


【解决方案1】:

老答案
问题是我下载了错误的轮子。 cp37 表示 CPython 3.7,我的系统上有 python 3.6。我下载了rpy2-2.9.5-cp36-cp36m-win_amd64.whl 而不是rpy2-2.9.5-cp37-cp37m-win_amd64.whl,它成功了。

当我遇到R_USERR_HOME的问题时,我在我的python脚本中做了以下操作:

import os
# see the following 2 lines
os.environ['R_HOME'] = 'C:/Program Files/R/R-3.6.2'
os.environ['R_USER'] = 'C:/Users/96171/AppData/Local/Programs/Python/Python36/Lib/site-packages/rpy2' #path depends on where you installed Python. Mine is the site packages of the regular python installation, it could have been Anaconda

# importing rpy2
import rpy2.robjects as robjects
r = robjects.r
r['source']('sample_r.r')

参考:this

更新
为了避免os calls,我可以通过在ENVIRONMENT VARIABLES 中将R_USERR_HOME 加入SYSTEM VARIABLE 来实现所需的行为

  • R_USER: C:\Users\96171\AppData\Local\Programs\Python\Python36\Lib\site-packages\rpy2
  • R_HOME:C:\Program Files\R\R-3.6.2

【讨论】:

  • 如果您有管理员权限,您可以永久设置这些环境变量并避免os 调用。
猜你喜欢
  • 2018-09-29
  • 2014-07-30
  • 2013-02-25
  • 1970-01-01
  • 1970-01-01
  • 2020-10-30
  • 2015-06-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多