Lightgbm OSError,未加载库

Lam*_*ade 10 python macos lightgbm

如果我只是这样做:

import lightgbm as lgb
Run Code Online (Sandbox Code Playgroud)

我越来越

python script.py 
Traceback (most recent call last):
File "script.py", line 4, in <module>
import lightgbm as lgb
File "/usr/local/lib/python2.7/site-packages/lightgbm/__init__.py", line 8, in <module>
from .basic import Booster, Dataset
File "/usr/local/lib/python2.7/site-packages/lightgbm/basic.py", line 31, in <module>
_LIB = _load_lib()
File "/usr/local/lib/python2.7/site-packages/lightgbm/basic.py", line 26, in _load_lib
lib = ctypes.cdll.LoadLibrary(lib_path[0])
File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 440, in LoadLibrary
return self._dlltype(name)
File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 362, in __init__
self._handle = _dlopen(self._name, mode)
OSError: dlopen(/usr/local/lib/python2.7/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/gcc/lib/gcc/7/libgomp.1.dylib
Referenced from: /usr/local/lib/python2.7/site-packages/lightgbm/lib_lightgbm.so
Reason: image not found
Run Code Online (Sandbox Code Playgroud)

我似乎安装了一切正确:

python -m pip install lightgbm
Requirement already satisfied: lightgbm in /usr/local/lib/python2.7/site-packages
Requirement already satisfied: wheel in /usr/local/lib/python2.7/site-packages (from lightgbm)
Requirement already satisfied: scikit-learn in /usr/local/lib/python2.7/site-packages (from lightgbm)
Requirement already satisfied: scipy in /usr/local/lib/python2.7/site-packages (from lightgbm)
Requirement already satisfied: numpy in /usr/local/lib/python2.7/site-packages (from lightgbm)
Run Code Online (Sandbox Code Playgroud)

我的GCC文件夹中有一个6文件夹.我是否需要安装另一个版本的GCC才能使用?

在此输入图像描述

Žyg*_*tas 16

我在 M1 MAC 上也遇到了同样的问题。我尝试通过 Jupiter Notebook 导入它。这个命令解决了这个问题:

conda install lightgbm
Run Code Online (Sandbox Code Playgroud)


She*_*ero 15

All the above answers didn't work for me. On Mac, if I installed the libomp using brew fixed the problem: Refer: link

brew install libomp
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用。谢谢。上面的东西没用! (2认同)
  • 这应该是更新的答案。我不需要接受的答案中所述的任何步骤。 (2认同)

For*_*ang 12

我在这里找到类似的问题LightGBM
答案和评论可能对你有帮助.

在Mac中构建LightGBM:

brew install cmake  
brew install gcc --without-multilib  
git clone --recursive https://github.com/Microsoft/LightGBM ; cd LightGBM  
mkdir build ; cd build  
cmake ..   
make -j  
Run Code Online (Sandbox Code Playgroud)

然后安装:

cd ../python-packages  
sudo python setup.py install --precompile
Run Code Online (Sandbox Code Playgroud)

如@ecodan所述,您可能需要强制Mac使用GCC和G ++而不是默认编译器.因此cmake ..,请尝试:

cmake -DCMAKE_C_COMPILER=/usr/local/Cellar/gcc/6.1.0/bin/gcc-6 -DCMAKE_CXX_COMPILER=/usr/local/Cellar/gcc/6.1.0/bin/g++-6 ..
Run Code Online (Sandbox Code Playgroud)

调整版本以匹配你的版本.

  • FWIW,我的HighSierra Mac比GCC更喜欢AppleCLang,所以我不得不强行这样的道路:cmake -DCMAKE_C_COMPILER =/usr/local/Cellar/gcc/6.1.0/bin/gcc-6 -DCMAKE_CXX_COMPILER =/usr/local/Cellar/gcc/6.1.0/bin/g ++ - 6 .. (4认同)