hatunina’s blog

メモと日記です

macにLightGBMをインストールする

pipしただけではエラーが出たのでメモです。

エラーとか

pipしてimportしようとするとimage not foundと出てしまう。 調べたところ、ソースからビルドした方が良さそう?とのことで下記ドキュメントを参照し進めて行きました。

github.com

すると、cmake ..でまたエラー

cmake ..
# CMake Error at /usr/local/Cellar/cmake/3.11.2/share/cmake/Modules/CMakeDetermineCCompiler.cmake:48 (message):
# Could not find compiler set in environment variable CC:
# gcc-7.
# Call Stack (most recent call first):
# CMakeLists.txt:9 (PROJECT)

gcc-7が設定されていない?exportしたけど。。。と思いまた調べると g++-7 -vと打ってみろ、とのこと。

g++-7 -v
# -bash: g++-7: command not found

ふえぇ。。まさか、、、

g++-8 -v
# Using built-in specs.
# COLLECT_GCC=g++-8
# COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc/8.1.0/libexec/gcc/x86_64-apple-darwin16.7.0/8.1.0/lto-wrapper
# Target: x86_64-apple-darwin16.7.0
# Configured with: ../configure --build=x86_64-apple-darwin16.7.0 --prefix=/usr/local/Cellar/gcc/8.1.0 --libdir=/usr/local/Cellar/gcc/8.1.0/lib/gcc/8 --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-8 --with-
# gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-isl=/usr/local/opt/isl --with-system-zlib --enable-checking=release --with-pkgversion='Homebrew GCC 8.1.0' --with-
# bugurl=https://github.com/Homebrew/homebrew-core/issues --disable-nls
# Thread model: posix
# gcc version 8.1.0 (Homebrew GCC 8.1.0) 

8が入ってたみたい。 この辺ちょっとよくわからず。

コマンド

多分これで良いはず。

brew install cmake
brew install gcc

git clone --recursive https://github.com/Microsoft/LightGBM
cd LightGBM
export CXX=g++-8 CC=gcc-8  # ドキュメントでは export CXX=g++-7 CC=gcc-7 
mkdir build
cd build
cmake ..
make -j4

cd ../python-package/
python setup.py install --precompile