安装后无法导入lightgbm

时间:2017-06-12 19:02:55

标签: macos lightgbm

我的操作系统是macOS Sierra,10.12.5,我使用的是Anaconda和python 2.7。安装后,当我尝试: 将lightgbm导入为lgb 我收到以下消息:

OSError                                   Traceback (most recent call last)
<ipython-input-28-2ae3725bef24> in <module>()
----> 1 import lightgbm as lgb

/Users/tenggao/anaconda/lib/python2.7/site-packages/lightgbm/__init__.py in <module>()
      7 from __future__ import absolute_import
      8 
----> 9 from .basic import Booster, Dataset
     10 from .callback import (early_stopping, print_evaluation, record_evaluation,
     11                        reset_parameter)

/Users/tenggao/anaconda/lib/python2.7/site-packages/lightgbm/basic.py in <module>()
     29 
     30 
---> 31 _LIB = _load_lib()
     32 
     33 

/Users/tenggao/anaconda/lib/python2.7/site-packages/lightgbm/basic.py in _load_lib()
     24     if len(lib_path) == 0:
     25         raise Exception("cannot find LightGBM library")
---> 26     lib = ctypes.cdll.LoadLibrary(lib_path[0])
     27     lib.LGBM_GetLastError.restype = ctypes.c_char_p
     28     return lib

/Users/tenggao/anaconda/lib/python2.7/ctypes/__init__.pyc in LoadLibrary(self, name)
    438 
    439     def LoadLibrary(self, name):
--> 440         return self._dlltype(name)
    441 
    442 cdll = LibraryLoader(CDLL)

/Users/tenggao/anaconda/lib/python2.7/ctypes/__init__.pyc in __init__(self, name, mode, handle, use_errno, use_last_error)
    360 
    361         if handle is None:
--> 362             self._handle = _dlopen(self._name, mode)
    363         else:
    364             self._handle = handle

OSError: dlopen(/Users/tenggao/anaconda/lib/python2.7/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/libiomp/lib/libiomp5.dylib
  Referenced from: /Users/tenggao/anaconda/lib/python2.7/site-packages/lightgbm/lib_lightgbm.so
  Reason: image not found

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:4)

我之前遇到过这个问题。实际上,LightGBM依赖于OpenMP进行编译,Apple Clang不支持。您应该使用以下命令安装gcc / g ++:

brew install cmake
brew install gcc --without-multilib

查看更多详情here 希望这可以帮到你。

答案 1 :(得分:0)

我同时遵循了(https://github.com/microsoft/LightGBM/issues/1369)和网站(https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html#macos)上的安装指南

由于我具有gcc版本9.1.0,因此我使用了:

  

git clone --recursive https://github.com/Microsoft/LightGBM;光盘LightGBM   出口CXX = g ++-9 CC = gcc-9   mkdir构建;光盘制作   cmake ..   使-j4

在执行安装过程中,然后运行:

  

pip install --no-binary:all:lightgbm

将lightgbm导入我的jupyter笔记本后,它警告我安装libomp,所以我也这样做了:

  

酿造libomp

然后警告消失了。

答案 2 :(得分:0)

我在Mac上遇到了相同的问题,只需安装OpenMP库即可解决此问题。

brew install libomp

For any doubt please visit the installation page here