Python 如何在Ubuntu上安装和使用rpy2

Python 如何在Ubuntu上安装和使用rpy2,python,r,ubuntu,rpy2,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 _r

我正在尝试使用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
回溯(最近一次呼叫最后一次):
文件“/home/quirty/anaconda3/lib/python3.5/runpy.py”,第170行,在运行模块中作为主模块
“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
文件“/home/quirty/anaconda3/lib/python3.5/runpy.py”,第85行,在运行代码中
exec(代码、运行\全局)
文件“/home/quarty/anaconda3/lib/python3.5/site packages/rpy2/tests.py”,第23行,在
导入rpy2.tests\u rpy\u classic
文件“/home/quirty/anaconda3/lib/python3.5/site packages/rpy2/tests\u rpy\u classic.py”,第3行,在
导入rpy2.rpy_classic作为rpy
文件“/home/quirty/anaconda3/lib/python3.5/site packages/rpy2/rpy_classic.py”,第5行,在
将rpy2.rinterface导入为ri
文件“/home/quirty/anaconda3/lib/python3.5/site-packages/rpy2/rinterface/__-init___.py”,第99行,在
从rpy2.rinterface.\u rinterface导入*
ImportError:/home/quirty/anaconda3/bin/./lib/libreadline.so.6:未定义符号:PC

我已经解决了这个问题。python、rpy2的版本很好。可能命令$python-m'rpy2.tests'不是测试rpy2的正确方法。启动Pythonshell后,当我键入import rpy2.robjects作为robjects时,它工作正常,没有任何错误,并且我能够使用R读取文件。

我的服务器不是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,只需使用其中任何一个,然后更改环境

实际上,
rpy2
是python
.py
脚本中使用的一个模块,与其他任何脚本一样:pandas、numpy、lxml、csv等等。