Xgboost尝试导入时抛出错误

时间:2018-11-21 08:12:09

标签: python openmp xgboost libgomp

我有一个使用xgboost的项目。现在,我们将项目转移到容器中。 但是使用pip安装它后,它会引发以下错误:

Traceback (most recent call last):
  File "restart_db.py", line 5, in <module>
    from autoai.core.providers import GlobalEnrichmentProvider
  File "/volumes/code/autoai/core/providers/__init__.py", line 1, in <module>
    from .files_providers import CsvProvider, TsvProvider, ExcelProvider, FileProvider
  File "/volumes/code/autoai/core/providers/files_providers.py", line 10, in <module>
    from .base import BaseProvider, BaseInMemoryProvider
  File "/volumes/code/autoai/core/providers/base.py", line 1, in <module>
    from autoai.models.dataset_connection import JoinTypes
  File "/volumes/code/autoai/models/__init__.py", line 5, in <module>
    from .classifier import Classifier
  File "/volumes/code/autoai/models/classifier.py", line 8, in <module>
    from eli5 import explain_prediction
  File "/volumes/dependencies/lib/python3.6/site-packages/eli5/__init__.py", line 53, in <module>
    from .xgboost import (
  File "/volumes/dependencies/lib/python3.6/site-packages/eli5/xgboost.py", line 9, in <module>
    from xgboost import (  # type: ignore
  File "/volumes/dependencies/lib/python3.6/site-packages/xgboost/__init__.py", line 11, in <module>
    from .core import DMatrix, Booster
  File "/volumes/dependencies/lib/python3.6/site-packages/xgboost/core.py", line 150, in <module>
    _LIB = _load_lib()
  File "/volumes/dependencies/lib/python3.6/site-packages/xgboost/core.py", line 141, in _load_lib
    'Error message(s): {}\n'.format(os_error_list))
xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.
Likely causes:
  * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)
  * You are running 32-bit Python on a 64-bit OS
Error message(s): ['libgomp.so.1: cannot open shared object file: No such file or directory']

我检查了我的python和ubuntu均为64位,然后运行: apt-get update && apt-get install -y libaio1

要确保该软件包在那儿(我在某个地方读到了这可能是问题所在)-但它仍然抛出相同的错误。

我已经坚持了一段时间,希望能对您有所帮助。

4 个答案:

答案 0 :(得分:2)

在创建项目的Docker映像时遇到了这个问题。

我使用了以下命令:

RUN apt-get update && \

     apt-get -y --no-install-recommends install \

     libgomp1

答案 1 :(得分:1)

在我的MacOS上,并按照调试消息的提示,brew install libomp进行了修复。

答案 2 :(得分:0)

我在lightGBM上遇到了相同的错误,为了解决我所遇到的问题:

apt-get install libgomp1 

在任何lightGBM代码被调用之前,这是必需的。对我来说,发生错误是在取消选择lightGBM模型时,而不是在导入lightGBM时发生的。

答案 3 :(得分:0)

我有同样的问题。试图修复“可能”的两个原因均无济于事。奇怪的是,几天前一切都还算正常。我将Python版本从3.6.1更改为3.6.7,并解决了该问题。不幸的是,我还不知道问题出在哪里,但是它为我解决了这个问题。

这是CircleCi的Linux机器上Python的docker映像。指定此选项以防问题必须解决。

希望这对某人有帮助!