在具有 OpenMP 依赖性的 Mac 上安装 Lightgbm

Installing Lightgbm on Mac with OpenMP dependency

我是 python 的新手,想在我的 macbook 上安装 lightgbm。我做了一个pip install lightgbm,它说安装成功。但是,当我尝试将其导入我的笔记本时,出现以下错误消息:

../anaconda/envs/python3/lib/python3.6/ctypes/__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error)
342 
343         if handle is None:
--> 344             self._handle = _dlopen(self._name, mode)
345         else:
346             self._handle = handle

OSError: dlopen(../anaconda/envs/python3/lib/python3.6/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/gcc/lib/gcc/7/libgomp.1.dylib
Referenced from: ../anaconda/envs/python3/lib/python3.6/site-packages/lightgbm/lib_lightgbm.so
Reason: image not found

lightgbm 网站上的文档使用 brew install... 给出了不同的安装指南。我的问题是我是否必须进行 brew install?如果是这样为什么pip安装显示安装成功?

pip 只会安装 lightgbm python 个文件。 documentation 指出 lightgbm 取决于 OpenMP。所以你也需要安装它。您遇到的问题是因为 python 找不到 OpenMP 附带的所需 "dynamic link library"。

brew install open-mpi 它应该可以解决问题。

旁注:作为快速测试,我按照与您相同的方式安装了 lightgbm,但遇到了同样的问题。但是我在 /usr/local/opt/gcc/lib/gcc/6 中找到了 libgopm.1.dylib。将其符号链接到所需路径并未证明是成功的。

对于 MacPorts 用户:

安装必备端口:

port install cmake gcc7 openmpi-gcc7

使用 pip 安装 LightGBM:

export CXX=g++-mp-7 CC=gcc-mp-7
pip install lightgbm --install-option=--mpi

检查 Python-package 安装指南中的其他安装选项,如 --gpu--hdfshttps://github.com/Microsoft/LightGBM/tree/master/python-package

对于 Mac OS,这对我有用: https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html

macOS 在 mac 上OS 可以使用 CMake 和 Apple Clang 或 gcc 构建 LightGBM。

Apple Clang 仅支持 Apple Clang 8.1 或更高版本。

安装 CMake(3.12 或更高版本):

brew 安装 cmake 安装 OpenMP:

brew 安装 libomp 运行 以下命令:

git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
mkdir build ; cd build

莫哈韦沙漠 (10.14)

cmake 
-DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp -I$(brew --prefix libomp)/include" 
-DOpenMP_C_LIB_NAMES="omp" 
-DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp -I$(brew --prefix libomp)/include" 
-DOpenMP_CXX_LIB_NAMES="omp" 
-DOpenMP_omp_LIBRARY=$(brew --prefix libomp)/lib/libomp.dylib 
..

对于 High Sierra 或更早版本 (<= 10.13)

cmake ..

make -j4

gcc 安装 CMake(3.2 或更高版本):

brew install cmake

安装 gcc:

brew install gcc

运行 以下命令:

git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
export CXX=g++-7 CC=gcc-7 # replace "7" with version of gcc installed on your machine
mkdir build ; cd build
cmake ..
make -j4