带有rpy2的ubuntu上的libRblas.so问题

机器算法验证 r Python
2022-03-22 18:27:32

我尝试在我的系统中安装 rpy2,(我使用 --enable-R-shlib 和 --enable-BLAS-shlib 标志编译 R)但是当我在 python 控制台中尝试时

import rpy2
import rpy2.robjects

我有:

Traceback (most recent call last):
    File "<stdin>", line 1, in<module>
    File "/usr/lib/python2.6/dist-packages/rpy2/robjects/__init__.py",
 line 14, in<module>
      import rpy2.rinterface as rinterface
    File "/usr/lib/python2.6/dist-packages/rpy2/rinterface/__init__.py",
 line 75, in<module>
      from rpy2.rinterface.rinterface import *
 ImportError: libRblas.so: cannot open shared object file: No such file
 or directory

rpy2 目录是:

rpy2.__path__

['/usr/lib/python2.6/dist-packages/rpy2']

我的 R 版本是:

R version 2.12.1 Patched (2011-01-04 r53913)

我的 R 家是:

/usr/bin/R

我的ubuntu版本是:

Linux kenneth-desktop 2.6.32-27-generic #49-Ubuntu SMP Thu Dec 2 00:51:09 UTC 2010 x86_64 GNU/Linux

我的 Python 版本是:

Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41)
[GCC 4.4.3] on linux2

当我从源代码(sudo python setup.py build install)安装 rpy2 时,我得到了:

running build
running build_py
running build_ext
Configuration for R as a library:
   include_dirs: ('/usr/lib64/R/include',)
   libraries: ('R', 'Rblas', 'Rlapack')
   library_dirs: ('/usr/lib64/R/lib',)
   extra_link_args: ()
  # OSX-specific (included in extra_link_args)
   framework_dirs: ()
   frameworks: ()
running install
running install_lib
running install_data
running install_egg_info
Removing /usr/local/lib/python2.6/dist-packages/rpy2-2.1.9.egg-info
Writing /usr/local/lib/python2.6/dist-packages/rpy2-2.1.9.egg-info

我究竟做错了什么?

谢谢您的帮助。

2个回答

看起来您尝试在本地做事,但没有完全到达那里。我碰巧维护了 R 的 Debian 包(它为 Ubuntu 重建并且可以在CRAN访问。这些构建使用外部 BLAS。rpy2 然后构建也很好。

我建议您阅读自述文件,尝试从存储库安装r-base-core和安装r-base-dev,然后尝试rpy2从源代码安装。rpy2或者在 Ubuntu 中使用稍旧的软件包。

对于遇到此问题的其他人,我可以通过确保将 R 库添加到我在 bashrc 中的库路径中来解决它:

export LD_LIBRARY_PATH="R-install-location/lib65/R/lib:$LD_LIBRARY_PATH"