如何在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,因此为了简化操作,我将其重命名为 make
打开 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 > Configuration Manager...
在活动解决方案配置中选择发布
在 Active 解决方案平台中选择 x64
单击构建 > 构建解决方案(Ctrl + Shift +B)
构建解决方案后,在文件夹xgboost_dir/lib
中创建了两个新文件libxgboost.dll
和xgboost.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 > Configuration Manager...
,
在Active solution configuration
中选择Release
在Active solution platform
中选择x64
重建xgboost
, xgboost_wrapper
将xgboost/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 init
、git 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 -> Settings -> 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包?
如何在 python 中为 xgboost 编写自定义评估指标?