Lightgbm OSError,库未加载

新手上路,请多包涵

如果我只是这样做:

 import lightgbm as lgb

我越来越

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

我似乎已正确安装所有内容:

 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)

我的 GCC 文件夹中确实有一个 6 文件夹。我是否需要安装另一个版本的 GCC 才能工作?

在此处输入图像描述

原文由 LampShade 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 701
2 个回答

我在这里发现了类似的问题 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

然后安装:

 cd ../python-packages
sudo python setup.py install --precompile

正如@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 ..

调整版本以匹配您的版本。

原文由 ForrestZhang 发布,翻译遵循 CC BY-SA 4.0 许可协议

以上所有答案都不适合我。在 Mac 上,如果我使用 brew 安装了 libomp,问题就解决了:参考: 链接

brew install libomp

原文由 ShellZero 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题