一开始直接用pip install lightgbm
报错:
OSError: dlopen(/Users/{xxx}/anaconda3/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: /opt/anaconda3/lib/python3.7/site-packages/lightgbm/lib_lightgbm.so Reason: image not found
看了一些网络回答,原因:主要是编译器的版本不一致(mac默认是gcc-8,pip安装的包则是用gcc-7编译的)
然后我看了一下我的gcc,原来都没有安装,这个需要自己安装的。安装这个之前,还要先安装一下Homebrew。
什么是homebrew?简单说就是一款mac os软件包管理工具。
什么是CMake?是一个跨平台的安装、编译工具。
什么是Apple Clang?是一个c语言、c++的轻量级编译器。
什么是Xcode?是运行在mac os上的集成开发环境(IDE)。里面包含了Apple Clang。
什么是gcc?GNU Compiler Collection,全称GNU编译器套件,是多种语言的编译器。
根据lightgbm官网安装教程,有三种安装方法:
1.用Homebrew安装
brew install lightgbm
2.git模式安装
brew install cmake
brew install libomp
git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM mkdir build ; cd build # For Mojave or newer (>=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 \ .. # For High Sierra or earlier (<= 10.13) cmake .. make -j4
3.gcc模式安装
brew install cmake
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