(Docker)jupyter/all spark笔记本中缺少GOMP_parallel或GOMP_4.0:R和Python
我有一个关于GOMP的问题,我认为这与gcc有关 我用这个图像作为一些实验的基础。看起来我使用的是一个基于这个未修改图像的OK版本(4.9.2),但是我在一些与Cython相关的软件包中发现了一些奇怪的行为 例1 在未经修改的jupyter/all spark notebook docker映像上运行时,在尝试运行Python时,我遇到以下问题:(Docker)jupyter/all spark笔记本中缺少GOMP_parallel或GOMP_4.0:R和Python,python,linux,gcc,Python,Linux,Gcc,我有一个关于GOMP的问题,我认为这与gcc有关 我用这个图像作为一些实验的基础。看起来我使用的是一个基于这个未修改图像的OK版本(4.9.2),但是我在一些与Cython相关的软件包中发现了一些奇怪的行为 例1 在未经修改的jupyter/all spark notebook docker映像上运行时,在尝试运行Python时,我遇到以下问题: import lightfm Traceback (most recent call last): File "", line 1, in Fi
import lightfm
Traceback (most recent call last):
File "", line 1, in
File "/opt/conda/lib/python3.4/site-packages/lightfm/init.py", line 1, in
from .lightfm import LightFM
File "/opt/conda/lib/python3.4/site-packages/lightfm/lightfm.py", line 7, in
from .lightfm_fast import (CSRMatrix, FastLightFM,
ImportError: /opt/conda/lib/python3.4/site-packages/lightfm/lightfm_fast.cpython-34m.so:
undefined symbol: GOMP_parallel
我尝试过的事情:
from.lightfm\u快速导入(CSRMatrix、FastLightFM、,
符合逻辑,预测光FM,
合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身合身
Checking gcc and kernel versions: gcc 4.9.2 Ubuntu 14.04 Linux 00846c176840 3.13.0-67-generic #110-Ubuntu SMP Fri Oct 23 13:24:41 UTC 2015 x86_64 GNU/Linux
还尝试将“.lightfm
”更改为“lightfm
”以从相对导入更改。同样的错误
Checking gcc and kernel versions: gcc 4.9.2 Ubuntu 14.04 Linux 00846c176840 3.13.0-67-generic #110-Ubuntu SMP Fri Oct 23 13:24:41 UTC 2015 x86_64 GNU/Linux
但我认为,如果你只是拉docker镜像并进行pip安装lightfm
,它应该准确地复制错误
例2
运行pip install xgboost
时,安装成功,但在笔记本电脑中,我尝试执行以下操作:
---------------------------------------------------------------------------
OSError Traceback (most recent call last)
<ipython-input-2-afdaff4619ce> in <module>()
----> 1 import xgboost
/home/jovyan/.local/lib/python3.5/site-packages/xgboost-0.4-py3.5.egg/xgboost/__init__.py in <module>()
9 import os
10
---> 11 from .core import DMatrix, Booster
12 from .training import train, cv
13 from . import rabit
/home/jovyan/.local/lib/python3.5/site-packages/xgboost-0.4-py3.5.egg/xgboost/core.py in <module>()
81
82 # load the XGBoost library globally
---> 83 _LIB = _load_lib()
84
85 def _check_call(ret):
/home/jovyan/.local/lib/python3.5/site-packages/xgboost-0.4-py3.5.egg/xgboost/core.py in _load_lib()
75 if len(lib_path) == 0:
76 return None
---> 77 lib = ctypes.cdll.LoadLibrary(lib_path[0])
78 lib.XGBGetLastError.restype = ctypes.c_char_p
79 return lib
/opt/conda/lib/python3.5/ctypes/__init__.py in LoadLibrary(self, name)
423
424 def LoadLibrary(self, name):
--> 425 return self._dlltype(name)
426
427 cdll = LibraryLoader(CDLL)
/opt/conda/lib/python3.5/ctypes/__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error)
345
346 if handle is None:
--> 347 self._handle = _dlopen(self._name, mode)
348 else:
349 self._handle = handle
OSError: /opt/conda/bin/../lib/libgomp.so.1: version `GOMP_4.0' not found (required by /home/jovyan/.local/lib/python3.5/site-packages/xgboost-0.4-py3.5.egg/xgboost/libxgboost.so)
更新:我现在认为检测到的编译器实际上是早期版本,因此这可能是问题的根源,因为在运行时
%install_ext https://raw.githubusercontent.com/rasbt/watermark/master/watermark.py
%load_ext watermark
# show a watermark for this environment
%watermark -d -m -v -p numpy,matplotlib -g
我得到以下回应:
CPython 2.7.11
IPython 4.1.2
numpy 1.10.4
matplotlib 1.5.1
compiler : GCC 4.4.7 20120313 (Red Hat 4.4.7-1)
system : Linux
release : 4.4.5-15.26.amzn1.x86_64
machine : x86_64
processor :
CPU cores : 4
interpreter: 64bit
Git hash :
还有其他想法吗?很可能作者已经找到了答案,不过我还是把它留在这里,因为它可能会为某人节省时间 这个问题确实与使用的gcc的错误版本有关。在
all spark notebook
上安装xgboost之前运行此命令帮助我解决了gomp问题:
RUN conda install -y gcc
您可以在我的all spark notebook
扩展版中看到有效的解决方案
RUN conda install -y gcc