Mac下安装lightgbm
Mac下安装lightgbm
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.安装错误
直接使用命令:
import lightgbm as lgb
使用时直接调用:
import lightgbm as lgb
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安装,并已经更新
brew update
brew upgrade
2.安装cmake依赖
- 命令行,依次执行以下命令
brew install cmake
brew install gcc@7 --without-multilib
git clone --recursive https://github.com/Microsoft/LightGBM ;
cd LightGBM
mkdir build ;
cd build
cmake .. # 这一步会出错,看下方编译部分
make -j
3.编译
在执行编译cmake..
的时候出现如下错误
CMake Error at /usr/local/Cellar/cmake/3.15.5/share/cmake/Modules/CMakeDetermineCCompiler.cmake:49 (message):
Could not find compiler set in environment variable CC:
gcc-8.
Call Stack (most recent call first):
CMakeLists.txt:7 (PROJECT)
这个时候我们需要更换命令,注意查看自己电脑的gcc版本
cd /usr/local/bin
# 查看文件中的g++和gcc版本
我的是g++-9
和gcc-9
版本
cmake -DCMAKE_CXX_COMPILER=g++-9 -DCMAKE_C_COMPILER=gcc-9 ..
执行结果如下
-- The C compiler identification is GNU 9.2.0
-- The CXX compiler identification is GNU 9.2.0
// ...
-- Found OpenMP: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/ryxiong/LightGBM/build
4.构建
- 命令执行
make -j4
- 正常运行结果
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
错误处理
如果出现以下错误:
/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/incl
再重新执行第4步,然后项目构建成功。
安装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"
手动配置
- 拷贝/LightGBM/lib_lightgbm.so文件到/LightGBM/python-package/lightgbm/目录下,再将/LightGBM/python-
- package/lightgbm整个文件夹拷贝到系统python的包目录下,如:
cp lib_lightgbm.so /Users/ricky/LightGBM/build/LightGBM/build/LightGBM/python-package/lightgbm/
- 将lightgbm文件拷贝到Python的lib库路径下:
cp -r /Users/ricky/LightGBM/build/LightGBM/build/LightGBM/python-package/lightgbm ./
Mac下安装lightgbm的更多相关文章
- Mac 下安装Jenkins
Mac 下安装Jenkins 开始 Jenkins是一个基于Java开发的一种持续集成工具,用于建工持续重复的工作,功能包括: 持续的软件版本发布/测试项目 监控外部调用执行的工作. 近期打算搭建自动 ...
- MAC下安装与配置MySQL
MAC下安装与配置MySQL MAC下安装与配置MySQL 一 下载MySQL 访问MySQL的官网http://www.mysql.com/downloads/ 然后在页面中会看到“MySQL ...
- Mac下安装UPnP Inspector
由于工作中需要用到UPnP Inspector这个工具,而这个工具在windows下安装非常简单,在Mac下安装却很麻烦,在此记录安装流程. 这个工具依赖于两个其他的库:Coherence(一个DLN ...
- Mac下安装Wireshark,双击闪退
Mac OS X上使用Wireshark抓包(http://blog.csdn.net/phunxm/article/details/38590561) Mac下安装Wireshark /Appli ...
- Mac下安装zshell
Mac 下安装zshell 什么是shell 大多数命令行用户接触最多的是Bash,因为Bash是各个版本操作系统(Linux&Mac)的默认shell. 查看当前使用的shell $ ech ...
- 【高可用HA】Apache (1) —— Mac下安装Apache Httpd到自定义路径(非/etc/apache2)
Mac下安装Apache Httpd httpd版本: httpd-2.4.17 参考来源: Tomcat Clustering - A Step By Step Guide Apache HTTP ...
- 《OD大数据实战》mac下安装nginx+php
一.mac安装nginx + php + php-fpm 或apache + php 1. Mac 下 Nginx.MySQL.PHP-FPM 的安装配置 2. Mac下安装LNMP(Nginx+P ...
- Mac下安装HBase及详解
Mac下安装HBase及详解 1. 千篇一律的HBase简介 HBase是Hadoop的数据库, 而Hive数据库的管理工具, HBase具有分布式, 可扩展及面向列存储的特点(基于谷歌BigTabl ...
- 在mac下安装jdk1.7(转)
转自:http://vela.diandian.com/post/2012-01-06/15379924 最近呢,想玩玩jdk1.7,不过mac平台下的jvm一直都是Apple自己改的,所有有些麻烦. ...
随机推荐
- IDEA设置类头,方法头自定义内容~图文
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
- kali下纯文本与窗口环境切换
切到纯文本环境,想返回 试了半天ctrl+alt+f7不行, 最后我想试试ctrl+alt+f8竟然成了: 而且那是之前以root账户登录图像界面时切换回去是f8,普通用户是f9 ,为何如此,我还不 ...
- c# task笔记
class Program { //创建Task任务的三种方式(无返回值) static void Main(string[] args) { //方法一 Task task1 = new Task( ...
- 通过三层交换机实现不同VLAN间的通信(案例+Cisco模拟器配置)
如图,其中PC1和4位于销售部VLAN10,PC2和PC5位于市场部VLAN20,PC3和PC5位于财务部VLAN30,各主机的IP地址以及子网掩码已列出,下面将讲解如何配置利用三层交换机来实现不同V ...
- 一个线程oom,进程里其他线程还能运行吗?
线程之间互相不影响:守护线程生活周期相同 引言 这题是一个网友@大脸猫爱吃鱼给我的提问,出自今年校招美团三面的一个真题.大致如下 一个进程有3个线程,如果一个线程抛出oom,其他两个线程还能运行么? ...
- yum 安装mysql-server 5.6
# rpm ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm # yum install -y mysql-s ...
- mysql5.7.26做主从复制配置
一.首先两台服务器安装好mysql数据库环境 参照linux rpm方式安装mysql5.1 https://www.cnblogs.com/sky-cheng/p/10564604.html 二.主 ...
- Java Script语法
JavaScript 语法 JavaScript 是一个程序语言.语法规则定义了语言结构. JavaScript 语法 JavaScript 是一个脚本语言. 它是一个轻量级,但功能强大的编程语言. ...
- Java 11必掌握的8大特性,完美代码信手拈来
[MyEclipse CI 2019.4.0安装包下载] 美国时间 09 月 25 日,Oralce正式发布了Java 11,这是据Java 8以后支持的首个长期版本.从官方发布的支持路线图表看出,J ...
- LAMP 系统性能调优之内核调优措施
LAMP 系统性能调优之内核调优措施 2011-03-18 11:21 Sean A. Walberg 网络转载 字号:T | T 在对系统的 Apache.PHP 和 MySQL 组件进行调优之前, ...