【问题标题】:Loading rpy2 : ImportError: version `GOMP_4.0' not found正在加载 rpy2:ImportError:未找到版本“GOMP_4.0”
【发布时间】:2023-10-20 14:45:01
【问题描述】:

在 Jupyter Notebook 或控制台中加载 rpy2 给我带来了以下错误:

Traceback (most recent call last):
  File "/home/louis/anaconda3/lib/python3.5/runpy.py", line 184, in         _run_module_as_main
    "__main__", mod_spec)
  File "/home/louis/anaconda3/lib/python3.5/runpy.py", line 85, in     _run_code
    exec(code, run_globals)
  File "/home/louis/anaconda3/lib/python3.5/site-packages/rpy2/tests.py", line 23, in <module>
    import rpy2.tests_rpy_classic
  File "/home/louis/anaconda3/lib/python3.5/site-    packages/rpy2/tests_rpy_classic.py", line 3, in <module>
    import rpy2.rpy_classic as rpy
  File "/home/louis/anaconda3/lib/python3.5/site-packages/rpy2/rpy_classic.py", line 5, in <module>
    import rpy2.rinterface as ri
  File "/home/louis/anaconda3/lib/python3.5/site-packages/rpy2/rinterface/__init__.py", line 92, in <module>
    from rpy2.rinterface._rinterface import (baseenv,
ImportError: /home/louis/anaconda3/lib/libgomp.so.1: version `GOMP_4.0' not found (required by /usr/lib/R/lib/libR.so)
  • R 版本:3.2.3
  • Python 版本:3.5.2 :: Anaconda 自定义(64 位)
  • 操作系统:ubuntu 16.04 LTS 64 位
  • rpy2 版本:2.8.5

我不知道它可能有多相关,但我已经安装了 gcc,我可以在 python 中导入 rpy2。

任何帮助或提示将不胜感激。


根据 omri_saadon 的评论,我将 LD_LIBRARY_PATH 设置为通向 libgomp 目录的所有路径,它们是:

  • $HOME/anaconda3/pkgs/gcc-4.8.5-7/lib
  • $HOME/anaconda3/pkgs/libgcc-4.8.5-2/lib
  • $HOME/anaconda3/pkgs/lib

但每次都出现同样的错误:

ImportError: path_to_libgomp/libgomp.so.1: version `GOMP_4.0' not found (required by /usr/lib/R/lib/libR.so)

所以我的任务还在继续^^(我必须承认我并不真正了解我在做什么的来龙去脉)。
当我成功设置export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu(在根模式下找到)时,我遇到了另一种错误:

    import rpy2.rinterface as ri                                                                             
  File "/home/louis/anaconda3/lib/python3.5/site-  packages/rpy2/rinterface/__init__.py", line 92, in <module> 
    from rpy2.rinterface._rinterface import (baseenv,                                                        
ImportError: /home/louis/anaconda3/bin/../lib/libreadline.so.6: undefined symbol: PC 

然后当我尝试首先导入 readline 包(因为它似乎已经与某些人一起使用)时,我得到:

import rpy2.rinterface as rinterface
  File "/home/louis/anaconda3/lib/python3.5/site-packages/rpy2/rinterface/__init__.py", line 92, in <module>
    from rpy2.rinterface._rinterface import (baseenv,
ImportError: /usr/lib/libblas.so.3: undefined symbol: gotoblas

【问题讨论】:

  • 请尝试将 GCC 库(lib 或 lib64)目录添加到您的 LD_LIBRARY_PATH,即 export LD_LIBRARY_PATH=$HOME/your-path-to-gcc-6.2/lib:$LD_LIBRARY_PATH

标签: python r rpy2


【解决方案1】:

看来我终于成功安装和使用了rpy2了。

我做了什么?

我使用 conda 包管理器安装它,而不是 pip。只需conda install rpy2,我就完成了。

【讨论】:

    【解决方案2】:

    你试过了吗

    RUN conda install -y gcc
    

    这似乎适用于有类似问题的人 -- Missing GOMP_parallel or GOMP_4.0 in (Docker) jupyter/all-spark-notebook: both R and Python

    【讨论】:

    • 是的,我做到了,也许来自另一个但类似的答案;没有改变任何东西
    最近更新 更多