Mac下安装lightgbm-image not found

1.安装环境

  • 系统
    • MacOS Mojave
    • 版本10.14.2
  • Xcode
    • 10.1
$ clang -v
Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-apple-darwin18.2.0
Thread model: posix

2.错误安装

  • 直接使用命令:
pip install lightgbm
  • 使用时直接调用:
import lightgbm as lgb
  • 然后在pycharm、notebook中使用时会报错:
OSError: dlopen(/Usrs/chao/.pyenv/versions/3.6.2/lib/python3.6/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /Usrs/chao/.../libgomp.1.dylib
Referenced from: /Usrs/chao/.pyenv/versions/3.6.2/lib/python3.6/site-packages/lightgbm/lib_lightgbm.so
Reason: image not found
  • 那么请先执行:这一步会卸载原来错误安装的库
pip uninstall lightgbm

3.正确安装

  • 保证之前错误的安装已经卸载掉了,然后进行下面的操作。
1.确保homebrew安装,并已经更新
2.安装cmake依赖
  • 在命令行,依次执行以下命令,如果出现Error: invalid option: --without-multilib错误,把后面的--without-multilib可选性去掉即可。
brew install cmake
brew install gcc@7 --without-multilib
git clone --recursive https://github.com/Microsoft/LightGBM ; 
cd LightGBM
mkdir build ; 
cd build
3.编译
  • 命令行执行:
cmake -DCMAKE_CXX_COMPILER=g++-7 -DCMAKE_C_COMPILER=gcc-7 .. 
  • 执行结果:
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
// ...
-- Found OpenMP: TRUE   
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/chao/Documents/python/LightGBM/build
4.构建
  • 命令行执行:
make -j
  • 如果没有报错,执行结果:
Scanning dependencies of target lightgbm
Scanning dependencies of target _lightgbm
[  1%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/dataset.cpp.o
[  3%] Building CXX object CMakeFiles/lightgbm.dir/src/io/dataset.cpp.o
// ...
[ 92%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/voting_parallel_tree_learner.cpp.o
[ 93%] Building CXX object CMakeFiles/_lightgbm.dir/src/metric/metric.cpp.o
[ 95%] Building CXX object CMakeFiles/lightgbm.dir/src/network/linkers_mpi.cpp.o
[ 96%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/tree.cpp.o
[100%] Linking CXX executable ../lightgbm
[100%] Linking CXX shared library ../lib_lightgbm.so
[100%] Built target lightgbm
[100%] Built target _lightgbm
  • 并在上级目录LightGBM下生成lib_lightgbm.so*和lightgbm*两个文件。
cd ..
ls
  • 如果没有出错,可以直接进行第6步
5.错误处理
  • 如果出现以下错误:
/usr/local/Cellar/gcc@7/7.3.0/lib/gcc/7/gcc/x86_64-apple-darwin17.5.0/7.3.0/include-fixed/stdio.h:78:10: fatal error: _stdio.h: No such file or directory
 #include <_stdio.h>
          ^~~~~~~~~~
compilation terminated.
  • 则在Finder里按名称匹配搜索_stdio.h,找到以
Copyright (c) 2000, 2005, 2007, 2009, 2010 Apple Inc. All rights reserved.
  • 注释信息开头的_stdio.h,复制到以下目录(具体地址参见报错信息):
/usr/local/Cellar/gcc@7/7.3.0/lib/gcc/7/gcc/x86_64-apple-darwin17.5.0/7.3.0/include-fixed/
  • 再重新执行第4步,然后项目构建成功。
6.安装lightgbm
  • 命令行执行:
cd python-package
pip install lightgbm
  • 在命令行执行验证是否安装成功:
$ python
>>> import lightgbm as lgb
>>> lgb.LGBMClassifier()
LGBMClassifier(boosting_type='gbdt', class_weight=None, colsample_bytree=1.0,
        learning_rate=0.1, max_depth=-1, min_child_samples=20,
        min_child_weight=0.001, min_split_gain=0.0, n_estimators=100,
        n_jobs=-1, num_leaves=31, objective=None, random_state=None,
        reg_alpha=0.0, reg_lambda=0.0, silent=True, subsample=1.0,
        subsample_for_bin=200000, subsample_freq=1)
  • 终端使用OK,但是pycharm、notebook里还是不行,不出意外会显示:
ImportError: No module named "lightgbm"
  • 下面需要手动简单配置以下
7.手动配置
  • 拷贝/LightGBM/lib_lightgbm.so文件到/LightGBM/python-package/lightgbm/目录下,再将/LightGBM/python-package/lightgbm整个文件夹拷贝到系统python的包目录下,如:
  • 将.so文件拷贝到lightgbm下,这里是我的路径,你要替换为自己的
cp lib_lightgbm.so /Users/ricky/LightGBM/python-package/lightgbm/
  • 将lightgbm文件拷贝到Python的lib库路径下:
cp -r /Users/ricky/LightGBM/python-package/lightgbm ./
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值