【问题标题】:ImportError when using rpy2 with numpy.testing将 rpy2 与 numpy.testing 一起使用时出现 ImportError
【发布时间】:2015-04-29 12:49:16
【问题描述】:

我在使用 numpy.testing 模块进行单元测试时遇到了一个相当奇怪的错误。我在 VM 中运行 iPython 笔记本。在我的代码中,我有一个测试,我将我的输出与 R 中的输出进行比较。这需要我像这样加载 rpy2 模块:

import rpy2.robjects as robjects
from rpy2.robjects.packages import importr
fastclime = importr('fastclime')
grdevices = importr('grDevices')

但是,当我运行 ! py.test 时,我收到以下错误:

====================================== 错误========== ============================

_____________________ ERROR collecting test_fastclime_R.py _____________________
test_fastclime_R.py:6: in <module>
    import rpy2.robjects as robjects
../../anaconda/lib/python2.7/site-packages/rpy2/robjects/__init__.py:15: in <module>
    import rpy2.rinterface as rinterface
../../anaconda/lib/python2.7/site-packages/rpy2/rinterface/__init__.py:101: in <module>
    from rpy2.rinterface._rinterface import *
E   ImportError: /home/bitnami/anaconda/bin/../lib/libreadline.so.6: undefined symbol: PC
====================== 10 passed, 1 error in 0.19 seconds ======================

我怀疑这与某些未链接到我的工作目录的环境变量有关,但我不知道如何修复它。任何建议都非常感谢!谢谢!

【问题讨论】:

    标签: python importerror


    【解决方案1】:

    解决办法是

    1) 如果创建了以前的版本,则删除 __pycache__ 目录

    2) 在anaconda命令行中安装readline: conda install -c asmeurer readline

    3) .py 文件内包含import readline

    【讨论】:

    • 完美!这正是我解决类似问题所需要的。
    【解决方案2】:

    另一种解决方案是从环境中删除 conda 的 readline 并使用 pip 的:

    conda remove --force readline
    pip install readline
    

    【讨论】:

      猜你喜欢
      • 2020-09-09
      • 2012-10-30
      • 1970-01-01
      • 2021-04-20
      • 2013-06-07
      • 2018-03-28
      • 2013-02-10
      • 2019-03-14
      • 2021-02-28
      相关资源
      最近更新 更多