如何在Ubuntu上安装和使用rpy2

时间:2016-01-24 01:30:35

标签: python r ubuntu rpy2

我正在尝试使用Python通过rpy2调用R.我正在研究Ubuntu 15.10。我已经安装了Python 3.5.1作为Anaconda 2.4.1(64位),R和rpy2版本2.7.6的一部分。当我尝试$ python -m' rpy2.tests'在终端上,我收到以下错误:

Traceback (most recent call last):
  File "/home/thirsty/anaconda3/lib/python3.5/runpy.py", line 170, in    _run_module_as_main
    "__main__", mod_spec)
  File "/home/thirsty/anaconda3/lib/python3.5/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/thirsty/anaconda3/lib/python3.5/site-packages/rpy2/tests.py",   line 23, in <module>
    import rpy2.tests_rpy_classic
  File "/home/thirsty/anaconda3/lib/python3.5/site-packages/rpy2/tests_rpy_classic.py", line 3, in <module>
    import rpy2.rpy_classic as rpy
  File "/home/thirsty/anaconda3/lib/python3.5/site-packages/rpy2/rpy_classic.py", line 5, in <module>
    import rpy2.rinterface as ri
  File "/home/thirsty/anaconda3/lib/python3.5/site-packages/rpy2/rinterface/__init__.py", line 99, in <module>
    from rpy2.rinterface._rinterface import *
ImportError: /home/thirsty/anaconda3/bin/../lib/libreadline.so.6: undefined symbol: PC

2 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。 python,rpy2的版本都很好。可能是命令$ python -m&#39; rpy2.tests&#39;可能不是测试rpy2的正确方法。启动python shell后,当我输入rpy2.robjects作为robjects时,它没有任何错误,我能够使用R读取文件。

答案 1 :(得分:0)

我的服务器不是Ubuntu,而是CentOS版本6.6(最终版)。我用这种方式解决了这个问题,我想你可以在Ubuntu中找到相应的文件。

cp /lib64/libreadline.so.6 ~/anaconda3/lib/libreadline.so.6

完成。祝你好运。

但顺便说一句,如果你不能安装rpy2并且系统告诉你需要安装Cython,那么

pip uninstall Cython
pip install Cython
再次祝你好运

同样,不要同时在服务器中安装Anaconda2和Anaconda3,只需使用其中任何一个然后更改环境即可。