gpt4 book ai didi

python - rpy2:加载conda环境下安装的R版本,不是系统中的那个

转载 作者:行者123 更新时间:2023-12-04 14:12:08 26 4
gpt4 key购买 nike

我正在使用 rpy2从 Python 脚本中运行一些 R 代码。该脚本在 conda 环境中运行,其中安装了 R 版本 3.6.1。

问题是当我运行脚本时 rpy2 加载安装在 system 中的 R(即不在环境中)是旧版本 3.4.4。我这样检查加载的版本:

from rpy2.robjects import r
r("""cat(paste("R version: ",R.version.string))""")

如何强制rpy2使用安装在conda环境中的R版本?


添加

我删除了系统的 R 版本,现在尝试运行上面的行会导致:

ValueError: r_home is None. Try python -m rpy2.situation

运行 python -m rpy2.situation 显示:

rpy2 version:
3.3.5
Python version:
3.8.3 (default, Jul 2 2020, 16:21:59)
[GCC 7.3.0]
Looking for R's HOME:
Environment variable R_HOME: None
Calling `R RHOME`: /home/gabriel/miniconda3/envs/py3/lib/R
Environment variable R_LIBS_USER: None
R's additions to LD_LIBRARY_PATH:

R version:
In the PATH: R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Loading R library from rpy2: OK
Additional directories to load R packages from:
None
C extension compilation:
include:
['/home/gabriel/miniconda3/envs/py3/lib/R/include']
libraries:
['R', 'pcre', 'lzma', 'bz2', 'z', 'rt', 'dl', 'm', 'icuuc', 'icui18n']
library_dirs:
['/home/gabriel/miniconda3/envs/py3/lib', '/home/gabriel/miniconda3/envs/py3/lib', '/home/gabriel/miniconda3/envs/py3/lib/R/lib']
extra_compile_args:
[]
extra_link_args:
['-Wl,--export-dynamic', '-fopenmp', '-Wl,-O2', '-Wl,--sort-common', '-Wl,--as-needed', '-Wl,-z,relro', '-Wl,-z,now', '-Wl,--disable-new-dtags', '-Wl,--gc-sections', '-Wl,-rpath,/home/gabriel/miniconda3/envs/py3/lib', '-Wl,-rpath-link,/home/gabriel/miniconda3/envs/py3/lib', '-Wl,-rpath-link,/home/gabriel/miniconda3/envs/py3/lib']

这似乎表明 rpy2 知道安装在 conda 中的 R

最佳答案

如果我没记错的话,要使用的 R 安装链接是在安装 rpy2 的过程中创建的。

要使用您提到的特定 R 安装,我想您可以执行以下步骤:

  • 正在卸载 rpy2
  • 在 PATH 环境变量中添加目标 R 安装的 bin 文件夹:
    export PATH=${PATH}:/path/to/conda/R-3.6.1/bin/
  • 将 R_HOME 变量环境设置为目标 R 安装的文件夹:export R_HOME=/path/to/conda/R-3.6.1/
  • 再次安装 rpy2。

关于python - rpy2:加载conda环境下安装的R版本,不是系统中的那个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63511157/

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