mac 安裝 lightgbm 沒法導入(以及解決cmake命令沒法編譯)

最近在看數據分析,用到 python 的 lightgbm 包,直接用 pip install lightgbm 命令安裝後,在 import lightgbm 時總報錯,解決了一夜加一上午,記錄下來幫助像我同樣的新手小夥伴少踩坑。python


通常的包在用上述 pip 命令安裝後,就可正常使用,可是 LightGBM 編譯依賴 OpenMP,Apple Clang 不支持。給出以下圖的錯誤:
圖片描述git

官網也有給出在 mac 上安裝的方法,但我在執行 cmake .. 命令時,老是沒法成功,跳過這個坑花了很久,下面給出成功安裝的方法。github

系統:macOS Sierra 10.12.6
LightGBM包:https://github.com/Microsoft/...python2.7

首先保證你的電腦裝了 Homebrew,下面用到 brew 命令。網站

打開終端後,依次執行命令:ui

brew install cmake
brew install gcc@7 --without-multilib
git clone --recursive https://github.com/Microsoft/LightGBM ; cd LightGBM
mkdir build ; cd build
cmake -DCMAKE_CXX_COMPILER=g++-7 -DCMAKE_C_COMPILER=gcc-7 ..
make -j

若是安裝成功,最後輸出結果以下:
圖片描述url

個人電腦上默認安裝到 /usr/local/lib/python2.7/site-packages 文件夾下。spa

輸出上述編譯成功的信息後,便可執行下一步,從 build 文件夾返回上一級,執行命令:.net

cd python-package
pip install lightgbm

如成功安裝顯示信息:
圖片描述code

最後還須要進行配置,找到你在上一步安裝的 LightGBM 文件夾,拷貝里面的 lib_lightgbm.so 文件到 LightGBM/python-package/lightgbm 目錄下。最後將 LightGBM/python-package/lightgbm 文件夾拷貝到你須要用到到 python 文件夾下。

注意是要將 python-package 裏的 lightgbm 文件夾放到要用到 lightgbm 的環境下,而不是 LightGBM 整個文件,不然雖然能夠 import 成功,可是不能正經常使用,會報錯 LightGBM 對要用的方法無效。我用的是 python3.6 和 jupyter notebook,因此須要分別將 lightgbm 文件夾複製到 /usr/local/lib/python3.6/site-packages 和 anaconda3 對應的文件夾下。

補充:
在執行 pip install lightgbm 命令時,我又遇到了以下所示的問題:
圖片描述

解決辦法,執行命令:

pip install urllib3==1.21.1

而後便可成功 import :
圖片描述

參考連接:
https://blog.csdn.net/Jiaach/...
https://blog.csdn.net/chao201...
還有一些 stackoverflow 的答案,太多了就不放上來了,若是安裝過程還有問題,能夠去這個網站參考。


若有紕漏,歡迎指正。

相關文章
相關標籤/搜索