如何在Python上安装xgboost

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Python上安装xgboost相关的知识,希望对你有一定的参考价值。

参考技术A 假设都已经安装好了Anaconda,建议安装python2版本的,虽然python3也可以,但python2较为主流。再安装Git,装完之后在开始菜单里打开Git Bash,首先新建一个文件夹xgboostCode用于存放代码和下载文件,然后在刚刚打开的Bash终端中输入下面命令,定位目录。 参考技术B github下载地址(这个有可能会更新到最新版): https://github.com/tqchen/xgboost

下载地址:http://blog.csdn.net/eddy_zheng/article/details/50496194

载成功后,打开xgboost-master源文件夹下的windows文件夹,打开里面的vs工程。编译生成xgboost.exe(用于CLI)以及xgboost_wrapper.dll(用于Python)。官方说明是需要使用x64,release,可以根据自己实际做选择,X32的操作步骤也一样。
(我使用的是VS 2013 X64)
参考技术C 1、下载python安装包 当然,你也可以根据你的需要下载不同版本的python。
  2、双击安装程序python-X.X.X.msi
  3、选择Install for all users,点击下一步
  4、选择安装目录,Python默认的安装目录是:逗C:\Python地,可以直接使用默认目录安装,也可以安装到不同的目录。这里选择默认安装目录,直接点击Next继续下面的安装。当然读者可以根据需要安装到其他目录
  5、接下来,选择的是需要安装的Python组件,使用系统默认选项全部安装,点击Next进入下一步。
  6、等待结束后,安装程序会提示Python安装完成,点击Finish来即可退出。
  7、设置Windows的环境变量Path,具体作如下设置:右击逗我的电脑地->选择逗属性地->选择逗高级地->点击逗环境变量地,弹出环境变量对话框->在系统变量中,双击逗Path地条目,弹出对话框->在变量值中加入python的安装路径,例如:路径为C:\python;
  8、打开Windows的命令行,输入python,即可进入Python交互环境。
  至此,你就可以体验这样一个简洁而强大的语言了。
参考技术D 假设都已经安装好了Anaconda,建议安装python2版本的,虽然python3也可以,但python2较为主流。再安装Git,装完之后在开始菜单里打开Git Bash,首先新建一个文件夹xgboostCode用于存放代码和下载文件,然后在刚刚打开的Bash终端中输入下面命令,定位目录 第5个回答  2017-05-10 1.不知道大家使用什么开发环境,我建议大家使用anoconda,里面集成了不少做挖掘、统计相关的包,省去了我们自己安装的麻烦。(主要是考虑到包与包之间有依赖关系,建议用anoconda,numpy、matplotlib这些基础包自动都安装上了)。
2.在安装完集成开发环境后, 下载xgboost-windows文件,链接如下:
xgboost-windows文件
3.打开xgboost目录下的windows文件夹,用vs2013以上版本打开xgboost.sln工程(一定要用以上版本,之前我用vs2010打开会出现各种问题),右键项目名称-点击配置管理器-将debug改为release,win32还是win64根据自己的电脑选。
然后右键重新生成解决方案,当在输出窗口出现成功字样后,就表示xgboost的C++版本安装成功了。
4.打开cmd,进入到xgboost的python-package目录下,我的是这个路径:F:\Program Files\annoconda\xgboost-master\python-package。cmd命令为:
f:回车
cd \Program Files\annoconda\xgboost-master\python-package
然后输入python setup.py install 回车
若上述步骤都没问题,此时系统会自动在python-package包里安装xgboost包。
5.判断xgboost是否成功安装:
import xgboost as xgb
成功导入后,基本就没有问题了。

如何在python(windows平台)中安装xgboost包?

【中文标题】如何在python(windows平台)中安装xgboost包?【英文标题】:How to install xgboost package in python (windows platform)? 【发布时间】:2016-02-18 09:34:16 【问题描述】:

http://xgboost.readthedocs.org/en/latest/python/python_intro.html

在 xgboost 的主页上(上面的链接),它说: 要安装 XGBoost,请执行以下步骤:

    需要在项目根目录下运行make

    在python-package目录下运行

    python setup.py 安装

但是,当我这样做时,对于第 1 步,出现以下错误: make :术语“make”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查 名称的拼写,或者如果包含路径,请验证路径是否正确并重试。

然后我跳过step1,直接做了step 2,又出现了一个错误:

Traceback (most recent call last):
  File "setup.py", line 19, in <module>
    LIB_PATH = libpath['find_lib_path']()
  File "xgboost/libpath.py", line 44, in find_lib_path
    'List of candidates:\n' + ('\n'.join(dll_path)))
__builtin__.XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you install compilers and run build.sh in root path?

有人知道如何在Windows10平台上安装xgboost for python吗?感谢您的帮助!

【问题讨论】:

我发现最受好评的答案比接受的答案更容易。只是在这里发表评论,以便人们节省一些时间。 【参考方案1】:

如果有人正在寻找不需要自己编译的更简单的解决方案:

    从here 下载 xgboost whl 文件(确保与您的 python 版本和系统架构相匹配,例如“xgboost-0.6-cp35-cp35m-win_amd64.whl”用于 64 位机器上的 python 3.5) 打开命令提示符 cd 到您的下载文件夹(或保存 whl 文件的任何位置) pip install xgboost-0.6-cp35-cp35m-win_amd64.whl(或任何你的 whl 文件名称)

如果您发现由于缺少依赖项而无法安装,请先下载并安装依赖项,然后重试。

如果它抱怨访问权限,请尝试以管理员身份打开命令提示符并重试。

这为您提供了 xgboost 和 scikit-learn 包装器,并让您不必经历自己编译的痛苦。 :)

【讨论】:

注:仅限python3。 谢谢,这对于 win10 64 位上的 Python 3.6 非常有效 绝对的救生员 - 太棒了!! 生活再简单不过了。能够在 1 分钟内安装和导入 xgboost。向这个解决方案致敬。 它会安装,但是当你从 python 调用 lib 时,它说 VCOMP140.DLL 丢失。是的,安装了 Visual Studio。【参考方案2】:

请注意,从最新版本开始,Microsoft Visual Studio 说明似乎不再适用,因为此链接返回 404 错误:

https://github.com/dmlc/xgboost/tree/master/windows

您可以从 Tianqi Chen 的评论 here 中了解有关删除 MSVC 构建的更多信息。

这就是我在 Windows 上完成 64 位构建时所做的:

    下载并安装MinGW-64:http://sourceforge.net/projects/mingw-w64/ 在安装提示的第一个屏幕上,确保将体系结构设置为 x86_64,将线程设置为 win32 我安装到 C:\mingw64(为了避免文件路径中有空格)所以我将它添加到我的 PATH 环境变量中:C:\mingw64\mingw64\bin 我还注意到 bin\mingw64 中包含的 make 实用程序称为 mingw32-make,因此为了简化操作,我将其重命名为 ma​​ke 打开 Windows 命令提示符并键入 gcc。您应该会看到类似“致命错误:没有输入文件” 下一个类型。您应该会看到类似“未指定目标且未找到任何生成文件” 键入 git。如果您没有 git,请安装它并将其添加到您的 路径。

这些应该是构建 xgboost 项目所需的所有工具。要获取源代码,请运行以下行:

    cd c:\ git clone --recursive https://github.com/dmlc/xgboost cd xgboost git 子模块初始化 git 子模块更新 cp make/mingw64.mk config.mk make -j4

请注意,我是从 Cygwin shell 运行这部分的。如果您使用的是 Windows 命令提示符,您应该能够将 cp 更改为复制并获得相同的结果。但是,如果由于任何原因构建失败,我建议您再次尝试使用 cygwin。

如果构建成功完成,您应该在项目根目录中拥有一个名为 xgboost.exe 的文件。要安装 Python 包,请执行以下操作:

    cd python-package python setup.py 安装

现在你应该可以走了。打开 Python,您可以使用以下命令导入包:

import xgboost as xgb

为了测试安装,我继续运行了包含在项目的 demo/guide-python 文件夹中的 basic_walkthrough.py 文件,没有出现任何错误。

【讨论】:

mingw-w64.exe 已在 SourceForge 上被禁止 :( 我发现这个站点提供了一个压缩版本,解压后可以在 Windows 中使用:link。将它添加到 %path% ,它应该可以工作。 谢谢。为我工作。我在 windows 命令提示符下运行了所有命令。必须以管理员身份运行 cmd 提示符,否则不起作用。 我尝试在 32 位系统上使用 minigw,但失败 cc1plus.exe:抱歉,未实现:64 位模式未在 cc1plus.exe 中编译:抱歉,未实现:64 位模式未编译在 Makefile:97: recipe for target 'build/common/common.o' failed mingw32-make: *** [build/common/common.o] Error 1 我该如何解决这个问题? 安装说明很好,但是我遇到了两个问题:1)公司代理不支持MinGW安装。使用 Chocolatey.org 包管理器解决了这个问题。 2) 用于 python 的 Anaconda 发行版在 C:/Anaconda/Scripts 中有一个过时的 libstdc++-6.dll 版本。从 MinGW/Bin 文件夹中复制最新版本,一切顺利。【参考方案3】:

我在 Windows 8 64bit、Python 2.7 和 Visual Studio 2013 中成功安装了 XGBoost(不需要 mingw64)

2017 年 2 月 15 日更新

使用较新版本的 XGBoost,这是我的步骤

步骤 1. 安装 cmake https://cmake.org/download/

验证cmake是否安装成功

$ cmake
Usage

cmake [options] <path-to-source>
cmake [options] <path-to-existing-build>
...

第 2 步。 克隆 xgboost 源

$ git clone https://github.com/dmlc/xgboost xgboost_dir

第 3 步。 创建 Visual Studio 项目

$ cd xgboost_dir
$ mkdir build
$ cd build
$ cmake .. -G"Visual Studio 12 2013 Win64"

第 4 步。 构建 Visual Studio 2013 项目

使用 Visual Studio 2013 打开文件 xgboost_dir/build/ALL_BUILD.vcxproj 在 Visual Studio 2013 中,打开 BUILD &gt; Configuration Manager... 在活动解决方案配置中选择发布 在 Active 解决方案平台中选择 x64 单击构建 > 构建解决方案(Ctrl + Shift +B)

构建解决方案后,在文件夹xgboost_dir/lib 中创建了两个新文件libxgboost.dllxgboost.exe

第 5 步。 构建 python 包

将文件libxgboost.dll复制到xgboost_dir/python-package 将目录更改为xgboost_dir/python-package 文件夹 运行命令python setup.py install

验证xgboost是否安装成功

$ python -c "import xgboost"

旧答案

这是我的步骤:

    git 克隆https://github.com/dmlc/xgboost git checkout 9bc3d16 使用 Visual Studio 2013 在 xgboost/windows 中打开项目 在 Visual Studio 2013 中,打开 BUILD &gt; Configuration Manager..., 在Active solution configuration中选择ReleaseActive solution platform中选择x64 重建xgboost, xgboost_wrapperxgboost/windows/x64/Release文件夹中的所有文件复制到xgboost/wrapper 转到xgboost/python-package,运行命令python setup.py install 通过运行命令python -c "import xgboost"检查xgboost

【讨论】:

从最新的下载中我没有找到任何名为 Windows 的文件夹。 VB文件的名称是什么? 感谢您提及,我更新了第 2 步以检查提交,其中包含适用于 Windows 的文件夹。希望对你有帮助 @PuneetMathur 你为什么说新答案没用? Windows 二进制文件:picnet.com.au/blogs/guido/post/2016/09/22/… 此解决方案对我有用,但有以下更改:1)您需要在 CMake 之前拉入子模块:git submodule initgit submodule update。 2) 我使用 CUDA 编译,gpuxgboost 部分无法使用“标识符_Inf undefined in device code error”进行编译。我不得不将param.h 的第430 行从infinity() 更改为max()。 3) 只创建了xgboost.dll,没有调用libxgboost.dll。 4) 不需要将 DLL 复制到python-package。您可以将 DLL 保留在该目录中,这样当您使用 Python 安装脚本时,它会自动从 lib 获取它。【参考方案4】:

我刚刚为我的 python 2.7 和 python 3.5、anaconda、64 位机器和 64 位 python 安装了 xgboost。

都非常简单,不需要 VS2013 或 git。

我认为它也适用于普通 python。

如果你使用 python 3.5:

1:下载包here,版本取决于你的python版本,python3.5或python 3.6,32bit或64bit。

2:使用命令窗口,使用 cd 将下载文件夹设为密码,然后使用

pip install filename.whl

好的,完成了。 更详细的步骤见this answer

如果你使用python 2.7,你不需要下载VS2013自己编译,因为我已经编译好了,你可以下载我编译的文件直接安装

1:下载here by google drive

2:下载,解压,粘贴到这里:

"你的 python 路径\Lib\site-packages"

那么你应该有这样的东西:

3:在上面显示的python-package文件夹中,使用cmd窗口,cd在那里运行

python setup.py install 

使用此代码

 import xgboost 

在你的python中检查你是否安装了mingw-64,没有错误信息意味着你已经安装了mingw-64,你就完成了。

如果有错误信息

“Windows 错误:[错误 126]”

这意味着你还没有安装mingw-64,你还有一步要走。

在此处下载 mingw-64:http://sourceforge.net/projects/mingw-w64/

安装mingw-64时选择x86_64而不是默认的“i686”, 然后添加“您的安装路径\x86_64-6.2.0-posix-seh-rt_v5-rev1\mingw64\bin;”到你的 PATH,它应该是这样的:

“C:\Program Files\mingw-w64\x86_64-6.2.0-posix-seh-rt_v5-rev1\mingw64\bin;”

(这是我的)。

不要忘记“;”在 PATH 中。

那么你就完成了,你可以使用

import xgboost 

在你的 python 中检查,是的!

PS:如果您不知道如何添加路径,只需 google 即可获得解决方案。别担心,很简单。

【讨论】:

我遇到一个 WindowsError: [Error 193],它和 WindowsError: [Error 126] 一样吗? @JohnnyWong 不是,在这里查看更多:***.com/questions/15374710/…【参考方案5】:

如果您正在为特定项目安装 XGBoost,并且您正在使用 Pycahrm,那么您需要遵循以下步骤:

    从Here下载xgboost‑0.72‑cp36‑cp36m‑win_amd64.whl(因为我使用的是Python 3.6,如果你使用不同版本的Python,比如2.7,那么你需要安装xgboost‑0.72‑cp27‑cp27m‑win_amd64.whl)。

    将 复制到您的项目解释器目录。在 Pycharm 中点击 File -&gt; Settings -&gt; Project Interpreter 可以找到 Project Interpreter 的目录。

    打开命令提示符。从 cmd 转到 Project Interpreter 的目录。编写以下命令:pip install xgboost-0.72-cp36-cp36m-win_amd64.whl

【讨论】:

【参考方案6】:

编译c++版本后,将../windows/x64/Release/..(如果你编译x64版本)中的release dll和lib文件复制到../wrapper/然后运行python setup.py install

【讨论】:

【参考方案7】:

我按照https://www.kaggle.com/c/otto-group-product-classification-challenge/forums/t/13043/run-xgboost-from-windows-and-python 中列出的步骤操作。我将在下面总结我所做的。

1) 下载 Visual Basic Studio。您可以在 Visual Studio 网站上下载社区版。右上角有一个“免费的visual studio按钮”

2) 从 xgboost/tree/master/windows 的 git hub 存储库中复制所有内容并在 Visual Studio 上打开 Visual Studio 现有项目

3) 您需要选择几个下拉菜单(“Release”和“X64”,然后从上方菜单中选择 build --> build all。它应该类似于随附的屏幕截图。

4) 如果你看到消息 ========== Build: 3 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========,那就是都很好

5) 浏览到 XGB 安装文件所在的 python-packages 文件夹并运行安装命令“python setup.py install”。

你可以在Install xgboost under python with 32-bit msys failing找到一个类似的帖子

希望这会有所帮助。

【讨论】:

【参考方案8】:

为那些尝试在 32 位 Windows 机器上构建的用户添加到 Disco4ever 的解决方案中。

完成第 6 步并创建 config.mk 文件后,您需要进入该文件并编辑以下行以删除 -m64 标志

export CXX=g++ -m64
export CC=gcc -m64

【讨论】:

【参考方案9】:

在上面的 Disco4Ever 解决方案中添加“git checkout 9a48a40”对我有用:

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
git checkout 9a48a40
git submodule init
git submodule update

这最初是由 Cortajarena 在这里发布的: https://github.com/dmlc/xgboost/issues/1267

另外,无论如何,我最初在 64 位机器上运行 32 位 Python,我必须上传 64 位 Python 才能使 XGBoost 工作。

【讨论】:

【参考方案10】:

感谢 disco4ever 的回答。我试图在我的 Windows 10 64 位机器上为 Python Anaconda 环境构建 xgboost。使用过 Git、mingw64 和基本的 windows cmd。

在复制步骤之前一切都对我有用:cp make/mingw64.mk config.mk,因为我使用的是 windows cmd,所以我将其修改为复制 c:\xgboost\make\mingw64.mk c:\xgboost \config.mk

当我进行下一步时:make -j4,我得到了构建失败的错误。在经历了如此多的挫折之后的这个阶段,通过单击 build.sh(shell 脚本)只是厌倦了一些不同的东西。它开始执行并自动完成。

然后我执行了同样的步骤 make -j4,到我的 awe build 成功了。我在我的 xgboost 文件夹中看到了最期待的 xgboost.exe 文件。

然后我继续执行进一步的步骤并执行 python setup.py install。最后一切安装完美。然后我去了我的spyder并检查它是否工作。但我离我的幸福只有一步之遥,因为我仍然看到导入错误。

关闭所有命令提示符(Anaconda、Git bash、Windows CMD、cygwin 终端)然后再次打开 spyder 并输入“import xgboost”。成功,没有错误。

再次感谢大家。

【讨论】:

【参考方案11】:

您可以使用 Visual Studio 或 minGW 安装 xGBoost。由于官方 xgboost 网站说 MSVC 版本尚未更新,我尝试使用 mingw64。 我在我的 win7 x64 上运行 xgboost(python 包)。我遵循的步骤是:

1) 按照 Disco4Ever 的步骤进行 ming64 安装(在上面的答案中提到)。

2) 为 Windows 安装 Git。 windows download link。这也将安装 Git Bash。将 git-installation-directory\cmd 添加到您的系统环境变量 PATH 列表中。

3) 现在将 xGBoost 克隆到所需位置。在 cmd 中输入以下内容:

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
git submodule init
git submodule update
cp make/mingw64.mk config.mk
make -j4

4) 在 xgboost 的根目录中应该有一个名为“build”的 shell 脚本。打开它。它将打开一个 Git Bash 并开始构建。编译完成后,会创建 xgboost.exe 文件。

5) 现在安装 python 包:

cd python-package
python setup.py install

您可以通过在 python 中导入 xgboost 来测试。

【讨论】:

【参考方案12】:

在 windows 10 上,使用 python 3.6,下面的命令有效。

在 Anaconda Prompt 中,可以直接使用以下命令。附上截图作为证据。 点安装 xgboost

【讨论】:

【参考方案13】:

花了一整天的时间,但我使用TDM-GCC启用了 OpenMP,而不是 MingW 成功在 Windows 7 64 位机器上安装了 xgboost,点击此链接 - http://dnc1994.com/2016/03/installing-xgboost-on-windows/

【讨论】:

【参考方案14】:

这里有一个very helpful link with important points,安装时要注意。安装“openmp”非常重要。否则你会收到错误信息。

该链接提供了安装的分步说明。引用一段话:

构建 Xgboost

公平地说,官方指南并没有错 在 Windows 上安装 xgboost。但是,我还是想强调几个 点这里可以节省您的时间。

git clone --recursive https://github.com/dmlc/xgboost  
cd xgboost  
wget https://www.dropbox.com/s/y8myex4bnuzcp03/Makefile_win?dl=1
cp Makefile_win Makefile
cp make/mingw64.mk config.mk
mingw32-make

Makefile_win 是一个修改版(感谢周锡友) 原始 Makefile 以适应 Windows 上的构建过程。你可以 wget 或在此处下载。确保使用 UNIX shell 因为 Windows CMD 与 mkdir -p 命令有问题。 Git Bash 是 推荐的。确保在 git clone 中使用 --recursive 选项。确定 使用适当的 MinGW。推荐使用 TDM-GCC。请注意,默认情况下它 不会为您安装 OpenMP。您需要指定它,否则 构建会失败。

另一个有用的链接是官方程序:official guide

祝你好运!

【讨论】:

【参考方案15】:

我想为 Disco4ever 的解决方案添加一个小解决方法。

对我来说,我无法在 cygwin 中执行克隆。所以解决方法是在 windows 的命令提示符下执行它,然后在 cygwin 中完成其余的任务。

在第 3 行使用 cd c:\xgboost 使其在 cygwin 中工作。所以更新的最后一部分是这样的。

cd c:\
git clone --recursive https://github.com/dmlc/xgboost
cd c:\xgboost
git submodule init
git submodule update
cp make/mingw64.mk config.mk
make -j4

安装完成后可以卸载 git 和 cygwin 但 xgboost 和 mingw64 必须保持原样。

【讨论】:

【参考方案16】:

注意:在“make -j4”之前使用 gcc -v 检查你的 gcc 版本。

对我来说,我的环境是 win10 + anaconda(python 2.7),当我运行 make -j4 时。它显示 std::mutex 错误。在我使用 gcc-v 之后,它会回显 gcc4.7(anaconda 的默认 gcc)。在我选择我的 gcc 到 mingw64 的 6.2 gcc 之后,它就可以工作了。

最后,我使用“/d/Anaconda2/python.exe setup.py install”安装xgboost python包。

【讨论】:

【参考方案17】:

您可以使用以下 3 个步骤安装 XGBoost:

    收集系统信息(python 版本和系统架构 - 32 位或 64 位)

    从https://www.lfd.uci.edu/~gohlke/pythonlibs/下载相关的.whl

例如如果你的 python 版本是 3.7,windows 是 32 位,那么合适的文件是:

xgboost-0.72-cp37-cp37m-win32.whl

    运行 pip install yourdownloadedfile.whl

您还可以找到详细步骤here。

【讨论】:

【参考方案18】:

我使用 Jupyter notebook,发现了一种在 Anaconda 中安装 XGBoost 的非常简单的方法:

    安装 Anaconda 打开 Anaconda 导航器 在环境中,更新索引并搜索 xgboost(未安装) 选择 libxgboost 和 py-xgboost 并点击“应用”

完成

【讨论】:

以上是关于如何在Python上安装xgboost的主要内容,如果未能解决你的问题,请参考以下文章

如何在python(windows平台)中安装xgboost包?

如何在windows下安装xgboost库

如何在 python 中为 xgboost 编写自定义评估指标?

如何在 python / R 中访问 xgboost 模型的单个树

无法在 conda-forge 上安装 xgboost

如何从 xgboost 获得类似 glm 的优势比?