【MacOS】LightGBMの導入時のエラーについて【機械学習】

Machine learning

Datasetに合わせて複数の古典的機械学習モデルを試そうと思い、性能が高いと評判の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

*参考にさせて頂いたサイト。

lightgbmが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でエラーが出た。 - Qiita
よくわかりませんが、 brew install libomp pip uninstall lightgbm pip install lightgbm で解決しました。
Mac に 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

下記サイトも参考にさせて頂きました。

【Python3】pandasのversion0.25.0でimportエラーが起きる - Qiita
現時点(2019/08/04)で最新のpandasをinstallすると,version0.25.0がインストールされる. ただそのままpandasをimportするとエラーがでたので共有します. 環境 ec2 amazon-...

コメント

タイトルとURLをコピーしました