HOWTO · Python
在 Python 中安装 XGBoost
本文介绍如何在 Python 中安装 XGBoost。XGBoost 是一个用于梯度提升决策树的开源库。
本页内容
XGBoost 是一个用于梯度提升决策树的开源库。要在 Python 中使用它,请在项目运行所用的环境中通过 pip 或 conda 安装。若需要自定义构建,或打包版本不支持所需配置,也可以从源代码构建;这是面向高级用户的选项。
选择安装方式
如果项目已经使用 pip,且采用标准 Python 环境,可以选择 pip。如果使用 conda 管理项目,并希望通过它的环境和软件包工具统一管理依赖,则可以选择 conda。除非了解该环境如何解析软件包,否则不要在同一环境中混用不同的软件包管理器。
先选择或激活目标环境,再使用该环境对应的软件包管理器。本文草稿中的软件包命令尚未执行。安装前,请查阅官方 XGBoost 安装指南和发行版文档,确认当前安装说明以及支持的 Python 版本和平台组合。
使用 pip 安装 XGBoost
在目标 Python 环境对应的终端中运行 python -m pip install xgboost。使用 python -m pip 可以让 pip 与该解释器关联,从而降低软件包被安装到其他 Python 环境的风险。如果系统中的命令名是 python3,则改用 python3 -m pip install xgboost。
若要更新同一环境中已有的 pip 安装,请运行 python -m pip install --upgrade xgboost。留意 pip 显示的依赖或兼容性信息,然后按照下文的验证步骤确认安装情况。
使用 conda 安装 XGBoost
先激活项目使用的 conda 环境,再按照官方 XGBoost 安装指南中的 conda-forge 命令操作;目前该命令为 conda install -c conda-forge py-xgboost。此命令会选择 conda-forge 频道和 Python 软件包。软件包是否可用可能因平台和发行版而异,因此安装或更新前请查看该指南,并根据你的环境使用其中列出的软件包名称和频道。
从源代码构建 XGBoost
如果需要自定义 XGBoost,或现有软件包无法满足平台和需求,可以考虑从源代码构建;这适合有经验的用户。请按照官方 XGBoost 源代码构建指南,查阅适用于你的操作系统和发行版的前置条件与命令。该指南介绍原生构建流程和 Python 软件包安装方式。构建要求和命令可能会变化,因此请遵循指南中的当前步骤,而不要照搬通用流程。将构建出的 Python 软件包安装到项目使用的同一环境中。
验证安装并排查常见问题
使用项目选定的 Python 解释器运行下面这个独立检查。它会报告已安装的 XGBoost 版本;如果该解释器找不到软件包,则会打印清晰的提示。示例中的提示文本保持英文。
import importlib.util
if importlib.util.find_spec("xgboost") is None:
print("XGBoost is not installed in this Python environment.")
else:
import xgboost
print(f"XGBoost {xgboost.__version__}")
XGBoost is not installed in this Python environment.
如果检查提示未安装 XGBoost,但你已经执行过安装,请比较安装时使用的解释器和运行应用程序时使用的解释器。对于 pip,python -m pip show xgboost 会检查与该解释器关联的软件包;对于 conda,conda list xgboost 会检查当前激活的环境。请在同一个已激活环境中完成安装和验证。如果环境一致,请查看完整的导入错误,并在更改依赖项前,查阅适用于你的操作系统、Python 版本和 XGBoost 发行版的官方安装说明。
常见问题
可以在虚拟环境中安装 XGBoost 吗?
可以。先激活 venv 或 conda 环境,再使用该环境的软件包管理器安装 XGBoost,并通过该环境的 Python 解释器运行验证检查。
支持哪些 Python 版本和平台?
支持情况取决于 XGBoost 发行版和可用的软件包构建。请查阅官方发行版文档和安装文档,确认计划安装的发行版支持哪些 Python 版本和平台。
XGBoost 可以与其他机器学习库一起使用吗?
XGBoost 提供 Python 软件包,可以与其他库一起用于 Python 项目。若要与特定库集成,请遵循该库的最新文档,并确认已安装的版本彼此兼容。