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
参考にさせて頂いたサイト。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9bGlnaHRnYm0lRTMlODElOENkbG9wZW4lMjglMkZVc2VycyUyRiUyQXNpdGUtcGFja2FnZXMlMkZsaWdodGdibSUyRmxpYl9saWdodGdibS5zbyUyQyUyMDYlMjklM0ElMjBMaWJyYXJ5JTIwbm90JTIwbG9hZGVkJTNBJTIwJTJBJTJGbGlib21wJTJGbGklRTIlODAlQTYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTQ3ZmJjMjk4NmI3YWY5OWNjZDhhZjk0OTJkZWFhZGNj&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDByeXJ5cnkmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWEzYmU3ODNhMjMzNmUzNjhiNzQ2ZWQ1Y2NhNmIxMzQz&blend-x=142&blend-y=486&blend-mode=normal&s=a5b64d533d2c57d1430f8bb3dbfbb852)
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
下記サイトも参考にさせて頂きました。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgwJTkwUHl0aG9uMyVFMyU4MCU5MXBhbmRhcyVFMyU4MSVBRXZlcnNpb24wLjI1LjAlRTMlODElQTdpbXBvcnQlRTMlODIlQTglRTMlODMlQTklRTMlODMlQkMlRTMlODElOEMlRTglQjUlQjclRTMlODElOEQlRTMlODIlOEImdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTU0OGQ0MDljMzc1YmY3ZWFjNmIxNDgxNmU0Yjc3Yzc5&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBteW5raXQmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWNjMmFhM2Y3ODkzZGIwNzc3MTQ3MDViNWNmMWEzNzI5&blend-x=142&blend-y=486&blend-mode=normal&s=4590c1cf46bb36eecea696b235fe7b4f)
コメント