64位Windows下安装xgboost详细参考指南(支持Python2.x和3.x)

2023-05-16

20170601更新
1. 原博客在Python2.7环境下安装成功,xgboost版本为0.4,本次安装升级为0.6。
2. 在Python3.5/3.6环境中有一些问题,包括第一个python setup.py install报错,下面有更新说明。


3. 在Python3.5/3.6环境中,import xgboost as xgb会出现OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败​。这个比较棘手,换个思路

 http://www.lfd.uci.edu/~gohlke/pythonlibs/下载 xgboost whl 文件 

注意要和本机版本匹配, 比如. "xgboost-0.6-cp35-cp35m-win_amd64.whl"说明安装的是python 3.5,机器是64位的。

下载地址是:

  • xgboost‑0.6‑cp35‑cp35m‑win32.whl
  • xgboost‑0.6‑cp35‑cp35m‑win_amd64.whl
  • xgboost‑0.6‑cp36‑cp36m‑win32.whl
  • xgboost‑0.6‑cp36‑cp36m‑win_amd64.whl

然后使用pip安装,具体安装步骤,参考下面的具体更新。
Windows下安装xgboost有时候很简单,有时候却很麻烦,一不小心,经常会报一些编译错误。这里是我的一点小经验,测试过两次,都能够正常运行,分享给大家,希望能够有帮助。如果是急用的,一刻也不想等的,直接到这篇文章的结尾,到【参考】5找人家在X64位下编译好的。
常见错误:
Makefile:97: recipe for target 'build/logging.o' failed
mingw32
-make: [build/logging.o] Error 1
mingw32
-make: Waiting for unfinished jobs....Makefile:97: recipe for target 'build/common/common.o' failed
mingw32
-make: [build/common/common.o] Error 1
cc1plus
.exe: sorry, unimplemented: 64-bit mode not compiled inMakefile:97: recipe for target 'build/learner.o' failed
mingw32
-make: [build/learner.o] Error 1Makefile:97: recipe for target 'build/c_api/c_api_error.o' failed
mingw32
-make: [build/c_api/c_api_error.o] Error 1
【第一步:准备环境】
因为中间涉及到一些编译工作,我们先准备一个编译环境。此处需要下载一个软件,从下面两个链接都可以下载:
https://sourceforge.net/projects/mingw-w64/?source=typ_redirect
http://pan.baidu.com/s/1bpwUjgV
该文件的描述是: The mingw-w64 project is a complete runtime environment for gcc to support binaries native to Windows 64-bit and 32-bit operating systems. 可以看出是一个gcc的运行环境。
【安装前必读】
1.选择x86-64架构,按照下图选择其他参数
2.安装该文件,需要注意的是,中间有一步需要手动选择。需要手动选择openmp,这个默认是不安装的,但是此处需要,点上。OpenMP(Open Multi-Processing)是一套支持跨平台共享内存方式的多线程并发的编程API,使用C,C++和Fortran语言,可以在大多数的处理器体系和操作系统中运行,包括Solaris, AIX, HP-UX, GNU/Linux, Mac OS X, 和Microsoft Windows。包括一套编译器指令、库和一些能够影响运行行为的环境变量。
3. 进入安装目录C:\TDM-GCC-64\bin(默认目录,如果自己修改了,自动去找这个目录就好)下,将mingw2-make改成make,以便后面用着方便,还有如果Path环境变量没有自动添加,把C:\TDM-GCC-64\bin这个安装目录加入环境变量(再次提醒自定义的改一下目录)
4. 如果没有Git的,此处也先下载安装,Git Shell的安装极为简单,可以自行百度或者Google。
5. 安装Python,推荐安装Anaconda。
【第二步,下载xgboost并编译】
首先,打开Git Shell,依次执行如下命令:
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
git checkout 9a48a40//新版本这一步可以省略
git submodule init
git submodule update
cp make/mingw64.mk config.mk
cp make/mingw64.mk dmlc-core/config.mk
cd  rabit
make lib/librabit_empty.a -j4
cd  ../dmlc-core
make -j4
cd ..
make -j4
【第三步,安装到Python包中】
cd python-package
python setup.py install
更新:
如果是Python3.x这个地方会报错
error: Error: setup script specifies an absolute path:
    C:\Users\yuhul\xgboost\python-package\xgboost\..\..\lib\libxgboost.dll
setup() arguments must *always* be /-separated paths relative to the
setup.py directory, *never* absolute paths.
需要把该目录下setup.py第38行include_package_data=True改为include_package_data=False

【第四步,导入xgboost包】
import xgboost as xgb
help(xgb)
更新:
import xgboost as xgb时报错:OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败​。
这个地方Python3.x会报错,需要重新下载新的xgboost,替换Anaconda里面的老的xgboost。
在我的电脑中,D:\Anaconda3\Lib\site-packages目录下有xgboost-0.4-py3.5.egg这个目录,安装新的xgboost会删除掉它。
安装方法是进入下载的xgboost-0.6-cp35-cp35m-win_amd64.whl所在的目录,执行如下命令
pip install xgboost-0.6-cp35-cp35m-win_amd64.whl
说明,建议pip的版本在8.1以上,建议更新到最新版本9.0.2
【第五步,使用程序测试】
cd ..//或者直接进入xgboost目录
cd demo
cd guide-python
python basic_walkthrough.py
【参考】
1. https://zh.wikipedia.org/wiki/OpenMP
2. https://github.com/dmlc/xgboost/issues/1267
3. https://github.com/dmlc/xgboost/issues/1049
4. http://blog.csdn.net/eddy_zheng/article/details/50184563
5. http://blog.csdn.net/eddy_zheng/article/details/50496194
6. https://stackoverflow.com/questions/33749735/how-to-install-xgboost-package-in-python-windows-platform/35119904#35119904
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

64位Windows下安装xgboost详细参考指南(支持Python2.x和3.x) 的相关文章

  • Windows“findstr”命令:排除包含特定字符串的结果

    到命令findstr str1 我想添加一些内容来排除包含该字符串的结果str2 在Linux中 这样做的方法是添加 grep v str2 to grep str1 当然 是否有一个等效的标志 v在 Windows 中 是否有一个等效的标
  • 如何使用 Python 与窗口的 GUI 交互?

    假设您想打开myapp exe 打开第三个菜单 然后选择第二个菜单项 即像用户使用键盘或鼠标一样 然后在对话框窗口中选择第二个按钮 pyahk https pyahk readthedocs io en latest and pyautog
  • Jekyll for GitHub Pages 在 Windows 上找不到 rouge

    我刚刚在 Windows 上安装了 Jekyll 我正在尝试使语法突出显示与 rouge 一起使用 我已经设定highlighter rouge在 config yml 上 在文件 posts 2015 08 13 my first pos
  • 如何检测Windows版本是否合法? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我对获取版本信息不感兴趣 我想做的就是确保我的应用程序只能在合法版本的 Windows 上运行 而不是在盗版版本上运行 Windows 使
  • Windows 上的 Node.js 和 Express

    今晚 我决定尝试在我的 Windows 7 计算机上使用 Express 构建一个简单的 Node js 应用程序 安装过程还算顺利 但 Express 拒绝配合 以下是我已采取的步骤 使用以下位置提供的 MSI 安装 Node jshtt
  • 每个进程每个线程的时间量

    我有一个关于 Windows 和 Linux 中进程和线程的时间量子的问题 我知道操作系统通常为每个线程提供固定的时间量 我知道时间量根据前台或后台线程而变化 也可能根据进程的优先级而变化 每个进程有固定的时间量吗 例如 如果操作系统为每个
  • 在 C# 中使用反射列出枚举中的值

    我正在尝试使用反射来列出一个 Visual Studio 解决方案内的各个项目中的一些类的公共成员和方法 我尝试访问的所有类都是 C 的 并且它们都是从 C 类访问的 我用来进行这些调用的代码如下 public void PopulateE
  • 使用 Windows 任务计划程序安排 [Virtualenv 相关] Python 脚本

    I want to schedule a python script to start at 3AM and break at 5PM every weekday However the problem arises when I need
  • “此应用程序已请求运行时以异常方式终止它”的原因是什么?

    Visual C 运行时抛出一个常见错误 此应用程序已请求运行时以异常方式终止它 请联系应用程序的支持团队以获取更多信息 该错误消息实际上是什么意思mean 让我用一个比喻来准确地解释我的问题 如果我看到一条消息 异常 访问冲突 0xc00
  • dia2dump:CoCreateInstance 失败 - HRESULT = 80040154

    我正在尝试使用 Visual Studio 2017 及其在 Windows 7 x64 上转储 PDB 的签名dia2dump https msdn microsoft com en us library b5ke49f5 aspx 我加
  • Windows 睡眠功能极慢

    我正在通过 Windows h 使用 Sleep 命令制作一个程序 并且在 Windows 10 而不是 Windows 7 上运行我的程序时遇到了令人沮丧的差异 我将我的程序简化为下面的程序 它与我的更复杂的程序表现出相同的行为 在 Wi
  • 使用 Windows 批处理文件在文本文件中添加新行

    我有一个文本文件 其中有 200 多行 我只想在第 4 行之前添加一个新行 我使用的是 Windows XP 输入前的示例文本文件 header 1 header 2 header 3 details 1 details 2 输出后 hea
  • MinGW Make 抛出“系统找不到指定的路径。”错误

    我正在尝试在 Windows 7 上使用 cmake 生成一个 c 项目 在实际创建项目之前 cmake 会对您的工具链进行快速测试 我正在使用 MinGW 这就是我的问题所在 Cmake 触发 make 构建 最终失败并返回 系统找不到指
  • 无法启动 Windows 服务,错误 1064

    我编写了一个在 Win10 上运行的 Windows 服务 它运行得非常好 直到我决定对其进行一些更改 我重写了一些逻辑 在调试和发布配置中进行了测试 一切都很好 然后 我使用卸载了当前版本的服务installutil exe u serv
  • VB - 以隐式方式链接 DLL

    我正在开发 VB6 图形界面 并且需要隐式链接到 DLL 这样做的动机来自于我上一个问题 https stackoverflow com questions 5194573 有问题的 DLL 使用静态 TLS declspec thread
  • 防止 WNetAddConnection2 类允许被禁止的用户访问共享文件夹

    我开发了 C windows 应用程序 操作系统是Windows 7 要求 是使用带有凭据的代码访问网络共享文件夹 Test WNetAddConnection2 class 限制 是某些用户可以访问此共享文件夹 测试 但对于其他用户 设置
  • C++ 使用 Windows 命名管道

    由于某种原因 桅杆和从属装置都失败了 但是我可以找到任何关于它们如何工作的好例子 所以我不确定我哪里出了问题 在 ConnectNamedPipe 之后 主设备永远不会退出 WaitForSingleObject 并且从设备在第一个 boo
  • git 认为文件已更改

    我在一台机器上对一个项目做了一些工作 然后推送到 github 在另一台机器上克隆并做了一些工作 然后推送 然后我回到第一台机器并做了一个pull 现在 第一台机器认为项目中最初的所有文件都已更改 我试过了 git checkout f a
  • 如何有效截断文件头?

    大家都知道truncate file size 函数 通过截断文件尾部将文件大小更改为给定大小 但是如何做同样的事情 只截断文件的尾部和头部呢 通常 您必须重写整个文件 最简单的方法是跳过前几个字节 将其他所有内容复制到临时文件中 并在完成
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步

随机推荐

  • 智能医疗辅助诊断——调查与思考

    背景 为什么要做智能医疗 xff1f 优质医疗资源不足且增长缓慢各地方医疗资源分配不均客观条件满足 xff0c 人工智能技术发展 xff0c 算法 算力 数据齐备 目录 指出 xff0c 医用软件按照预期用途分为辅助诊断类和治疗类 诊断功能
  • WebMvcConfigurer配置HandlerInterceptor拦截器失效

    1 前言 Springboot2 0之前 xff0c 实现拦截器功能的配置类是通过继承 extends WebMvcConfigurerAdapter类完成的 xff0c 最近项目把Springboot升级到了Springboot2 X x
  • ubuntu deepin wechat中文乱码解决

    deepin wechat 中文乱码解决方案 方案一 执行以下命令打开文件 gedit opt deepinwine tools run sh 找到WINE CMD 修改为 WINE CMD span class token operato
  • 使用k-近邻算法识别手写数字

    本文摘自 机器学习实战 案例 xff0c 对其进行了代码更新与注释 实战介绍 使用k 近邻分类器构造手写识别系统 xff0c 为了简单起见 xff0c 系统只识别0 9 xff0c 需要识别的数字已经使用图形处理软件 xff0c 处理成具有
  • Android开发:Fragment中优雅使用ViewBinding【Java】

    目录 前言 官网示例 封装 前言 ViewBinding可以帮助我们减少代码中的大部分findViewById xff0c 官网中提到了它的优点和缺点 xff1a Null 安全 xff1a 由于视图绑定会创建对视图的直接引用 xff0c
  • c++ 读取UTF-8编码文本

    这个是苏州大学一个有关NLP的选修课的第一个作业 xff0c 刚开始有点摸不着头脑 xff0c 随着慢慢接触有点理解了老师的用心 任务是给定一个给一段汉语文本 xff0c 将文本切分开为单个character xff0c 并在charact
  • 一次完整的http请求全过程(知识体系版)

    最差的面试体验 面试官评价 xff1a 除了学历 xff0c 和培训班出来的没区别 确实 xff0c 很多东西我只是会用 面完回来 xff0c 我发现我确实连一个完整的http请求如何发送都不明白 失败并不可怕 但是一定得把失败的悲痛化成力
  • python 根据网易云歌曲的ID 直接下载歌曲

    特么的 xff0c xff0c xff0c 上次写了一堆 xff0c 发现 xff0c 原来下载网易云的歌曲根本不用这么费劲 xff0c xff0c 直接用 http music 163 com song media outer url i
  • The POM for commons-codec:commons-codec:jar:1.15-SNAPSHOT is missing

    问题描述 Maven打包的时候常常报异常 The POM for commons codec commons codec jar 1 15 SNAPSHOT is missing no dependency information avai
  • python 用pyinstaller打包多进程multiprocessing、tkinter scrapy爬取豆瓣TOP250部电影信息

    参考文章 xff1a https blog csdn net La vie est belle article details 79017358 https blog csdn net weixin 42052836 article det
  • SSM --Spring 第一天

    1 spring概述 1 1 Spring是什么 xff08 理解 xff09 Spring是分层的 Java SE EE应用 full stack 全栈的 xff0c 什么都会的 xff0c 管家的 轻量级开源框架 xff0c 以 IoC
  • springboot项目中日志SLF4J相关的错误 multiple SLF4J bindings

    1 问题描述 控制台中可以正常运行 xff0c 不会报如下错误 xff0c 但打成jar包会显示错误 xff0c 如下 xff1a C span class token operator span Users span class toke
  • 数据库连接正常,但是无法从数据库中读取数据

    数据库连接正常 xff0c 但是无法从数据库中读取数据 在给别人写个java小课程设计碰到的一个问题 xff0c 在我这里运行的好好的 xff0c 到他那就出现 xff1a 当数据连接正常 xff0c 但是sql语句访问数据的时候 xff0
  • MySQL跨服务器查询

    跨库查询 同服务器下跨数据库进行查询在表前加上数据库名就可以查询到数据 跨服务查询 mysql跨服务器进行查询提供了FEDERATED引擎进行映射表 xff0c 然后进行查询 mysql数据库federated引擎是默认关闭的 xff0c
  • 谷歌浏览器发送POST请求

    使用谷歌浏览器发送POST请求 F12打开控制台打开console输入以下代码并回车 var url 61 34 http localhost 8080 test test 34 var params 61 34 billIds 34 34
  • 手写一套简单的dubbo(含注册中心)之编程思想

    专栏目录 Dubbo基础 https blog csdn net qq 38310244 article details 125891802 Dubbo实战 https blog csdn net qq 38310244 article d
  • MySQL字符串拼接函数

    MySQL字符串拼接函数有以下三个 xff1a CONCATCONCAT WSGROUP CONCAT 1 CONCAT 说明 对指定字符进行拼接 语法 CONCAT str1 str2 语法说明 xff1a CONCAT 字符1 字符2
  • 日期正则表达式

    校验yyyy年MM月dd日 yyyy年MM月dd日 HH mm ss yyyy年M月d日 yyyy年M月d日 HH mm ss span class token punctuation span span class token opera
  • MySQL高效判断数据是否存在

    span class token keyword SELECT span IFNULL span class token punctuation span span class token punctuation span span cla
  • 64位Windows下安装xgboost详细参考指南(支持Python2.x和3.x)

    20170601更新 1 原博客在Python2 7环境下安装成功 xff0c xgboost版本为0 4 xff0c 本次安装升级为0 6 2 在Python3 5 3 6环境中有一些问题 xff0c 包括第一个python setup