【问题标题】:Installing rpy2 in Windows 10 through Anaconda so that it uses already installed packages通过 Anaconda 在 Windows 10 中安装 rpy2,以便它使用已安装的软件包
【发布时间】:2023-10-23 02:10:01
【问题描述】:

我想通过我的 Anaconda 环境之一使用 rpy2。我通过打开该环境的终端并按照these instructions 运行conda install -c r rpy2 来安装它。我也跑了pip install rpy2just to make sure,但是回来了

Requirement already satisfied: rpy2 in c:\users\rcardoso\.conda\envs\smartwatt\lib\site-packages (2.9.4)
Requirement already satisfied: six in c:\users\rcardoso\.conda\envs\smartwatt\lib\site-packages (from rpy2) (1.14.0)
Requirement already satisfied: jinja2 in c:\users\rcardoso\.conda\envs\smartwatt\lib\site-packages (from rpy2) (2.11.2)
Requirement already satisfied: MarkupSafe>=0.23 in c:\users\rcardoso\.conda\envs\smartwatt\lib\site-packages (from jinja2->rpy2) (1.1.1)

我希望 rpy2 使用我当前的 R 安装,这不是通过 Anaconda 完成的,并且已经安装了许多软件包。我尝试按照this post 上的说明设置系统变量。相关的系统变量最终看起来像这样:

但是,当我运行时

for row in rpy2.situation.iter_info():
    print(row)

在我的 Spyder iPython 控制台中,根据 rpy2 documentation,它似乎没有拾取 R_HOME 和 R_USER 环境变量,因为它正在返回:

Python version:
3.7.6 | packaged by conda-forge | (default, Mar 23 2020, 22:22:21) [MSC v.1916 64 bit (AMD64)]
Looking for R's HOME:
    Environment variable R_HOME: None
    Calling `R RHOME`: C:\Users\rcardoso\.conda\envs\Smartwatt\lib\R
    InstallPath in the registry: C:\Program Files\R\R-3.6.3
R version:
    In the PATH: 
    Used to build rpy2: 3-6.0--76424
Additional directories to load R packages from:
None

我应该怎么做才能使用我当前的 R 安装(不是显然与 rpy2 一起安装的那个)和软件包?对于我的具体情况,我无法找到关于如何通过 Anaconda 在 Windows 10 中正确安装 rpy2 的一致信息。

【问题讨论】:

  • 可以分享环境的内容吗?
  • @AMC 假设您指的是环境中安装的软件包,您可以在这里找到它们:pastebin.com/SbaBbZDM

标签: python r windows anaconda rpy2


【解决方案1】:

anaconda 似乎没有使用您定义的系统变量。

从您提到的帖子 (this post) 中,您是否尝试直接在脚本中设置环境?

import os
os.environ['R_HOME'] = r"C:\Program Files\R\R-3.6.3"
os.environ['R_USER'] = r"C:\Users\rcardoso\.conda\envs\Smartwatt\Lib\site-packages\rpy2"

您可以尝试另一种解决方案:直接在 conda 环境中定义环境变量。检查this的第一个答案。

【讨论】:

    最近更新 更多