python - 安装并使用 RPy2(使用 conda),以便它使用/usr/lib/R R 中的默认 R 安装

标签 python r conda rpy2

我想使用 RPy2 在 Python 中调用我的 R 包中的函数。我使用 conda 安装了 RPy2 并意识到它在 conda 中安装了 R 的新副本......我不想要那个。我只想拥有并使用一个 R,默认在/usr/lib/R 中。

该怎么做?如何强制 conda 和 Python 和 RPy2 使用安装在/usr/lib/R 中的默认 R?

最佳答案

不要使用conda install 安装rpy2,只需使用pip install rpy2。以下是您可能需要在 rpy2 之前安装的一些额外软件包:

conda install -y PyHamcrest
sudo apt-get install -y libreadline6-dev
pip install rpy2

一些注意事项:

  1. which pip 应该引用 anaconda 的路径。

  2. 在安装 rpy2 之前,应正确设置 R 的环境变量(R_HOME 和 PATH)。

  3. 安装后调用import rpy2.robjects as robjects时可能会遇到错误:

    RRuntimeWarning:错误:dyn.load(文件,DLLpath = DLLpath,...)中“stats”的包或命名空间加载失败: 无法加载共享对象“/usr/local/lib/R/library/stats/libs/stats.so”: libRlapack.so: 无法打开共享对象文件: 没有那个文件或目录

为了解决这个问题,我在 How I solved the error - libRlapack.so: cannot open shared object file: No such file or directory 中找到了解决方案

您需要找到您的 libRlapack.so 文件(在我的例子中,该文件位于 /usr/local/lib/R/lib/),或以下命令应显示此文件的路径:

R CMD ldd /usr/local/lib/R/library/stats/libs/stats.so

然后将此路径写入/etc/ld.so.conf.d/libR.conf,然后运行ldconfig:

echo "/usr/local/lib/R/lib/" >> /etc/ld.so.conf.d/libR.conf && ldconfig

这应该可以解决问题。

关于python - 安装并使用 RPy2(使用 conda),以便它使用/usr/lib/R R 中的默认 R 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51486081/

相关文章:

python - 使用python重命名服务器上的文件

python - 在 Mac OSX Lion(使用 Xcode)上运行 virtualenv 时出现 install_name_tool 错误

rglwidget : Cannot replace previous 3d plot

r - 在 case_when 中制作 tidyeval 函数

r - R 中的上标图例文本

python - 安装python包时出现错误: pythonw not found

python - Conda(基础)环境是否应该保持最新?

Python 字典打印第一次出现

python - anaconda环境位置问题

python - 在 Django 中保存模型给我 "Warning: Field ' id' 没有默认值”