anaconda jupyter不能导入安装的lightgbm解决方案
作者:fitcoder 发布时间:2021-09-15 19:24:45
问题:
安装lightgbm成功后,无法在anaconda jupyter notebook中导入lightgbm包
原因:
lightgbm默认安装在本地python环境中,而anaconda的python环境与本地不是同一个环境,不能使用本地环境中的包
解决方法:
将本地环境中的lightgm包拷贝到anaconda的python环境中
操作方法:
在本地的python环境下,导入lightgbm包,使用lightgbm.__file__输出包的路径
在Anaconda的python环境下,导入任意一个包,然后输出该路径
将本地环境中的lightgm包拷贝到anaconda的python环境中
补充: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/beenyoung/article/details/79022454


猜你喜欢
- 稀疏矩阵-sparsepfrom scipy import sparse稀疏矩阵的储存形式在科学与工程领域中求解线性模型时经常出现许多大型的
- 1. 实例描述通过爬虫获取网页的信息时,有时需要登录网页后才可以获取网页中的可用数据,例如获取 GitHub 网页中的注册号码时,就需要先登
- 本文实例为大家分享了python交互式图形编程的具体代码,供大家参考,具体内容如下#!/usr/bin/env python3# -*- c
- 本文研究的主要是Python多线程threading和multiprocessing模块的相关内容,具体介绍如下。线程是一个进程的实体,是由
- 如何用组件实现自动发送电子邮件?我想做一个能够自动发送电子邮件的程序,该如何做? 这就要用到w3 upl
- 一、Python官方标准库:Tkinter (必须了解)Python内置图形界面库——Tkinter
- 在处理Python代码字符串的时候,我们常会遇到要去除空格的情况,所以就总结了多种方法供大家参考。1、strip()方法去除字符串开头或者结
- 图形用户界面 (GUI)图形用户界面 (GUI) 只不过是一个桌面应用程序,可帮助我们与计算机进行交互像文本编辑器这样的 GUI 应用程序可
- 索引相关1. 查询(或更新,删除,可以转换为查询)没有用到索引这是最基础的步骤,需要对sql执行explain查看执行计划中是否用到了索引,
- 成果库修改: 要求主题列表随成果类型改变而改变  
- Jquery中的一些东西学习一下子,补充完善一下,毕竟有些时候没有使用到这个方式很有用,在使用bootstrap table的时候,选择当前
- 众所周知,Python开发框架大大减少了开发者不必要的重复劳动,提高了项目开发效率的同时,还使得创建的程序更加稳定。目前比较主流的Pytho
- 本文主要给大家介绍了关于python实现循环购物车功能的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:示例代码# -*- co
- 最近在学习VUE.js 中间涉及到JS全局变量,与其说是VUE的全局变量,不如说是模块化JS开发的全局变量。1、全局变量专用模块就是以一个
- 官方文档settings.py配置REST_FRAMEWORK = { 'DEFAULT_THROTTLE_CLASSE
- 本文实例讲述了Python面向对象程序设计类的多态用法。分享给大家供大家参考,具体如下:多态1、多态使用一种事物的多种体现形式,举例:动物有
- 正在看的ORACLE教程是:Oracle Index 的三个问题。索引( Index )是常见的数据库对象,它的设置好坏
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "h
- 解决SQL2000最大流水号的两个好方法问:请问怎样才能解决ms serer 2000 最大流水号的问题?答:我可以介绍两种方法给你:方法1
- 一、简介time模块提供各种操作时间的函数说明:一般有两种表示时间的方式:第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒