mac 安装 lightgbm 无法导入(以及解决cmake命令无法编译)
最近在看数据分析,用到 python 的 lightgbm 包,直接用 pip install lightgbm
命令安装后,在 import lightgbm
时总报错,解决了一晚上加一上午,记录下来帮助像我一样的新手小伙伴少踩坑。
一般的包在用上述 pip
命令安装后,就可正常使用,但是 LightGBM 编译依赖 OpenMP,Apple Clang 不支持。给出如下图的错误:
官网也有给出在 mac 上安装的方法,但我在执行 cmake ..
命令时,总是无法成功,跳过这个坑花了好久,下面给出成功安装的方法。
系统:macOS Sierra 10.12.6
LightGBM包:https://github.com/Microsoft/...
首先保证你的电脑装了 Homebrew,下面用到 brew
命令。
打开终端后,依次执行命令:
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
如果安装成功,最后输出结果如下:
我的电脑上默认安装到 /usr/local/lib/python2.7/site-packages
文件夹下。
输出上述编译成功的信息后,即可执行下一步,从 build 文件夹返回上一级,执行命令:
cd python-package pip install lightgbm
如成功安装显示信息:
最后还需要进行配置,找到你在上一步安装的 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 的答案,太多了就不放上来了,如果安装过程还有问题,可以去这个网站参考。
完
如有纰漏,欢迎指正。