Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to import lightgbm after install

Tags:

macos

lightgbm

My operating system is macOS Sierra, 10.12.5, and I am using Anaconda and python 2.7. After install, and when I try: import lightgbm as lgb I got the following message:

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

Thanks in advance for your help.

like image 205
Mike Gao Avatar asked Dec 14 '22 22:12

Mike Gao


2 Answers

I have encountered the same issue on my mac, which is fixed by simply installing OpenMP library.

brew install libomp

For any doubt please visit the installation page here

like image 163
Rohit Singh Avatar answered Jan 10 '23 06:01

Rohit Singh


I had the issue as you before. Actually, LightGBM depends on OpenMP for compiling, which isn't supported by Apple Clang. You should install gcc/g++ by using following command:

brew install cmake
brew install gcc --without-multilib

See more details here Hope this can help you.

like image 28
Huimin Ren Avatar answered Jan 10 '23 05:01

Huimin Ren