Tree-based modelの中でも性能が高いと評判のLightGBMですが、pyenv/venvを用いた仮想環境からpipでインストールしようとするとErrorが出てしまったのでその解決法について調べた内容を記載します。
LightGBMインストール (libomp)
何も考えずにpipでLightGBMを導入。
pip install lightgbm
その後、Jupyter notebook上で開こうとすると、
import lightgbm as lgb
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
from sklearn.model_selection import train_test_split
dlopen(/Users/*site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: */libomp/lib/libomp.dylib Referenced from: /Users/*/opt/anaconda3/lib/python3.6/site-packages/lightgbm/lib_lightgbm.so Reason: image not found
とError messageが出て読み込めません。どうやらOpenMPライブラリであるlibompがないため開くことができないとのこと。MacOSではbrewを使用してインストール可能です。
libompインストール後にLightGBMをインストールし直すと、問題なく利用できました。
brew install libomp
pip uninstall lightgbm
pip install lightgbm
参考にさせて頂いたサイト。
pyenv環境でのpandasエラー (_lzma)
余談ですが、pyenv環境では最新バージョンのpandasをimportしようとすると、こちらもErrorが出てしまうようです。下記のようなメッセージが出て_lzmaを要求されます。
ModuleNotFoundError: No module named ‘_lzma’
この場合はpyenvで使用するpython versionをアンインストール後、brewからxzをインストール、そして再度pythonをインストールすると回避できます。
pyenv uninstall 3.8.0
brew install xz
pyenv install 3.8.0
下記サイトも参考にさせて頂きました。
コメント