资讯专栏INFORMATION COLUMN

mac 安装 lightgbm 无法导入(以及解决cmake命令无法编译)

BetaRabbit / 1994人阅读

摘要:一般的包在用上述命令安装后,就可正常使用,但是编译依赖,不支持。给出如下图的错误官网也有给出在上安装的方法,但我在执行命令时,总是无法成功,跳过这个坑花了好久,下面给出成功安装的方法。系统包首先保证你的电脑装了,下面用到命令。

最近在看数据分析,用到 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 的答案,太多了就不放上来了,如果安装过程还有问题,可以去这个网站参考。


如有纰漏,欢迎指正。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41850.html

相关文章

  • Mac 任意Python环境安装 Caffe 的终极教程

    摘要:包括系统的原因自带的系统环境无法安装及其他第三方库,必须通过来自行安装一个而这个路径和系统的并不一样。在如此混乱的开发环境下,配置实在艰难,特此教程。你要用的话可以不忽略该教程了。 原文链接 https://jinkey.ai/post/tech/m...本文作者 Jinkey(微信公众号 jinkey-love,官网 https://jinkey.ai)感谢 yubang 老司机指导...

    FleyX 评论0 收藏0
  • 编译synergy

    摘要:起因由于我的的版本过高,与源内以及发布的包的版本不兼容,无法验证登陆我也是捐过的。虽然无法登陆可以使用但总是心痛。所以自己编译一下。他提供了夸平台支持。它是开源的,你可以免费使用,你可以捐献任意金额成为高级用户强烈推荐捐献。起因 由于我的 archlinux 的openssl版本过高,与源内以及发布的deb/rpm包的版本不兼容,无法验证登陆(我也是捐过的)。虽然无法登陆可以使用但总是心痛...

    codecraft 评论0 收藏0
  • Mac编译 Hadoop

    摘要:编译完成经过漫长的编译终于出现了令人兴奋的画面大功告成编译后的放在目录下。 Mac 下编译 Hadoop-2.9.2 系统环境 系统: Mac OS_10.14.4 maven: Apache Maven 3.6.0 jdk: jdk_1.8.0_201 ProtocolBuffer: portoc-2.5.0 zlib: 1.2.3-lib OpenSSL: 1_0_2r cmale...

    wapeyang 评论0 收藏0
  • CentOS 6.4编译安装mysql 5.7

    摘要:在使用更新系统后,需要检查下目录下是否会多出一个,如果多出,将它重命名成别的。否则,将使用这个配置文件启动,可能造成无法正常启动等问题。 背景 centos 的yum源安装的mysql版本太老了,也懒得折腾源,这里写下编译安装mysql步骤 安装 安装编译代码需要的包 yum -y install make gcc-c++ cmake bison-devel ncurses-deve...

    xavier 评论0 收藏0
  • mysql版本详细介绍及安装部署(mysql-5.6)

    摘要:运维工作内容初级安装配置,基本使用,基本故障处理中级体系结构备份策略涉及,故障恢复,基础高可用的运维搭建监控故障处理架构演变基础优化索引执行计划慢日志高级高可用架构设计实施运维高性能架构读写分离,分库分表,分布式整体数据库优化基于业务的优化 运维DBA工作内容 初级DBA: 安装配置,基本使用,基本故障处理 中级DBA: 体系结构、备份策略涉及,故障恢复,基础高可用的运维(搭...

    Taste 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<