【问题标题】:How to install xgboost in python on MacOS?如何在 MacOS 上的 python 中安装 xgboost?
【发布时间】:2017-01-11 21:55:03
【问题描述】:

我是新手,正在学习 python。有人可以帮我 - 如何在 python 中安装 xgboost。我使用的是 Mac 10.11。我在网上阅读并做了下面提到的步骤,但无法解码下一步该做什么:

pip install xgboost - 

【问题讨论】:

  • 你能解释一下你的确切问题是什么吗?例如,如果您遇到任何错误,您可以在此处记录它们吗?
  • 我运行了 pip install xgboost 它给了我一个错误 Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/hj /kdbpyx0s6y3flcbtj_j71gmc0000gn/T/pip-build-br5u893_/xgboost/你能建议我如何从头开始在python中安装xgboost吗?谢谢(:
  • 你试过我的答案了吗?可以验证吗?

标签: python macos installation osx-elcapitan xgboost


【解决方案1】:

如果你想使用多线程,那就有点复杂了。作为记录,我使用的是带有 OS X 10.10 (Yosemite) 的 Mac。我花了一段时间来解决各种问题,但它现在在我的 Anaconda (Py36) 环境中运行良好。

对于多线程,您需要先执行以下操作(如果您还没有安装 homebrew):

brew install gcc --without-multilib

如果您安装了其他版本,您可能会收到一些警告以取消链接目录或删除它们;遵循警告/说明。

接下来从 Github 获取 xgboost 文件。我下载到Anaconda/pkgs目录下。

git clone --recursive https://github.com/dmlc/xgboost

接下来的一系列步骤与 xgboost 网站上的文档不同,我从大量来源拼凑起来并进行了实验。问题是make文件中的一些关键行被注释掉了,也没有完全指定。

cd xgboost; cp make/config.mk ./config.mk

现在,使用您最喜欢的编辑器(我使用 vi),进入您从 /make 复制到 /xgboost 的文件

vi config.mk

取消注释文件顶部附近的行:

export CC = gcc

export CXX = g++

将它们更改为以下内容:

export CC = gcc-6

export CXX = g++-6

简单地取消注释行可能会解决问题。它不适合我;我需要将-6 添加到这两行。保存文件。

另外,更改文件xgboost/Makefile;换行:

export CC = $(if $(shell which clang), clang, gcc)
...
...
export CXX = $(if $(shell which clang++), clang++, g++)

到以下:

export CC = $(if $(shell which clang), clang, gcc-6)
...
...
export CXX = $(if $(shell which clang++), clang++, g++-6)

再次,我使用 vi 进行此编辑。

保存文件,现在您需要运行清理步骤,因为您更改了 Makefile。

make clean_all && make -j4

这应该干净地配置它并构建库。您仍然需要安装它。

cd python-package; python setup.py install

现在重启 Python/Anaconda,你应该可以导入库了。

【讨论】:

  • 非常感谢,我一整天都在做噩梦,直到​​找到你的详尽解释。再次感谢! :)
  • 嗨,github.com/dmlc/xgboost/issues/1501,这是另一种解决方案。
  • 在这里运行 OSX Sierra,看来 brew 现在正在安装 gcc 7。我不得不改变 gcc-7 和 g++-7。
  • 这些步骤是否适用于 7 BenDundee?我的一个同事用 7 试了一下,似乎很顺利。
  • 非常感谢!在找到您的答案之前,我一直在努力安装!
【解决方案2】:

对于在 Mac 上学习 python 和机器学习的新手,我强烈建议先安装 Anaconda (install doc).

Anaconda 是 Python 和 R 的免费增值开源发行版 用于大规模数据处理、预测性的编程语言 分析和科学计算,旨在简化程序包 管理和部署。

如果您为 Python 2.7 安装了 Anaconda,那么安装 XGBoost 应该没有问题:

conda install -c aterrel xgboost=0.4.0

如果您已经安装了 Anaconda 并且您的 pip XGBoost 安装失败,您应该尝试:

conda remove xgboost
conda install -c aterrel xgboost=0.4.0

【讨论】:

  • amans-air-2:~ amansanduja$ conda install -c ate​​rrel xgboost=0.4.0 使用“conda info ”查看每个包的依赖关系。 我在终端上以粗体运行命令并得到以下输出: Using Anaconda Cloud api site api.anaconda.org Fetching package metadata ......... Solving package specification: .... The发现以下规范存在冲突: - python 3.5* - xgboost 0.4.0* 你能帮忙做什么吗?提前致谢
  • Python 主要有两个版本:2.7 和 3.5。您应该为 python 2.7 安装 Anaconda。那时一切都会好起来的。对不起。
【解决方案3】:

适用于 Python 2.7

$ conda install -c aterrel xgboost=0.4.0

$ conda install -c biconda xgboost=0.6a2

适用于 Python 3.6

$ brew install gcc@5
$ pip install xgboost

【讨论】:

    【解决方案4】:

    如果你安装了 anaconda,这对我有用:

    只需在终端输入:

    conda install -c conda-forge xgboost
    

    【讨论】:

    • 在 Mac CatalinaOS (10.15.4) 上 - 这就像一个魅力!谢谢。
    【解决方案5】:

    对于 Python-3.x,在 Mac 中执行以下操作

    确保已安装 gcc-6(和 g++-6),如果没有安装

    brew install gcc
    

    然后,执行以下操作

    git clone --recursive https://github.com/dmlc/xgboost
    cd xgboost/
    make -j4
    cd python-package
    python3 setup.py install
    

    如果您使用 Anaconda 并且尚未配置路径以使用 ~/anaconda/bin 中的二进制文件,则将最后一行运行为

    /path/to/anaconda/bin/python3 setup.py install

    【讨论】:

    • 我发现下面的错误抛出了[Errno 2] No such file or directory: 'cmake': 'cmake'
    • @Mez13:你确定你安装了cmake吗?
    【解决方案6】:

    我关注了 Bryan Butler 的 answer,它成功了,我只需要进行一些更改:

    • gcc-7/g++-7 而不是 gcc-6/g++-6
    • 在运行make clean_all && make -j4 时,as 出现错误。所以,我只需要运行 export PATH=/usr/bin:$PATH 就可以了!

    【讨论】:

      【解决方案7】:

      我正在运行 Mac OS Mojave 10.14.5 并按照https://xgboost.readthedocs.io/en/latest/build.html# 的 Mac OS 的“高级方法”说明为我工作。简而言之:

      brew install cmake 
      brew install gcc@8
      git clone --recursive https://github.com/dmlc/xgboost
      mkdir xgboost/my_build
      cd xgboost/my_build
      CC=gcc-8 CXX=g++-8 cmake ..
      make -j4
      cd ../python_package
      python3 setup.py install
      

      【讨论】:

        【解决方案8】:

        您可以 pip 安装 catboost。 它是一个最近开源的梯度提升库,与 XGBoost 相比,它具有类似的接口并且更准确、更快并且具有开箱即用的分类特性支持。这里是图书馆的地址:https://catboost.yandex

        【讨论】:

          【解决方案9】:

          在我的案例中,这里描述的所有其他方法都失败了。我设法按照此处描述的官方安装进行安装: http://xgboost.readthedocs.io/en/latest/build.html#building-on-macos

          我的系统是MacOS Serria,所以我按照“在macOS上构建”的说明进行操作。

          但是,我没有“将这两行替换为(5 或 6 或 7;取决于您的 gcc 版本”w.r.t. config.mk 文件,而是:

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

          尽管gcc-version 显示Apple LLVM version 9.0.0

          之后按照“Python包安装”的官方说明,我就可以在Python中运行包了。

          【讨论】:

            【解决方案10】:

            2021 年 3 月 - 使用 pip 安装 XGBoost 1.3.3 没问题

            > pip3 install xgboost
            
            >>> import xgboost as xgb
            >>> xgb.__version__
            '1.3.3'
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-08-25
              • 1970-01-01
              • 1970-01-01
              • 2017-08-31
              相关资源
              最近更新 更多