6

我正在尝试在我的 Mac 上为 Python 3.4 安装 xgboost,但之后出现以下错误pip3 setup.py install

  File "<string>", line 20, in <module>

  File "/private/var/folders/_x/rkkz7tjj42g9n8lqq5r0ry000000gn/T/pip-build-2dc6bwf7/xgboost/setup.py", line 28, in <module>

    execfile(libpath_py, libpath, libpath)

NameError: name 'execfile' is not defined

当使用 -v 选项运行它以获取详细输出时,错误如下所示:

  Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/_x/rkkz7tjj42g9n8lqq5r0ry000000gn/T/pip-build-2dc6bwf7/xgboost
Exception information:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pip/basecommand.py", line 232, in main
    status = self.run(options, args)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pip/commands/install.py", line 339, in run
    requirement_set.prepare_files(finder)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pip/req/req_set.py", line 385, in prepare_files
    req_to_install.run_egg_info()
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pip/req/req_install.py", line 358, in run_egg_info
    command_desc='python setup.py egg_info')
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pip/utils/__init__.py", line 749, in call_subprocess
    % (command_desc, proc.returncode, cwd))
pip.exceptions.InstallationError: Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/_x/rkkz7tjj42g9n8lqq5r0ry000000gn/T/pip-build-2dc6bwf7/xgboost

我该如何解决这个问题?

4

4 回答 4

5

这对我有用。

操作系统:OSX El Capitan

第 1 步:cd xgboost; ./build.sh
第 2 步:cd python-package; python setup.py install

于 2016-08-30T04:56:53.683 回答
2

我认为 xgboost 只是作为 Python 2 包而不是 pip 提供的。有两种可能让它工作。

  1. 您使用 Python 2 并使用 pip 安装它。
  2. 您可以为 Python 3 手动构建 xgboost。只需从 github 下载源代码并构建它:打开终端。从 git 签出:git clone https://github.com/dmlc/xgboost.git。构建它:cd xgboost;制作; 光盘包装器;python.py setup install --user
于 2015-09-29T08:21:25.680 回答
0

也许你应该使用

cd xgboost; cp make/minimum.mk ./config.mk; make -j4

代替

cd xgboost; ./build.sh

根据构建文档的“在 OSX 上构建”部分

也可能这是重复的

于 2017-05-05T22:52:01.893 回答
0

我在尝试按照从源构建的说明在 Mac OS X Mojave 10.14 上安装 XGBoost 时遇到了很多错误。最糟糕的是当调用 CMake 不起作用并且臭名昭著的 clang: error unsupported option '-fopenmp' 时。真正的 C++ 构建/编译噩梦……

由于我最终无法编译本机 C++ 库,因此我成功地使用了以下解决方法:

  1. 使用brew获取编译好的库libxgboost.dylib:

    brew install xgboost

    奇怪的是, brew 没有安装整个东西!!???

  2. 安装 Python 库:

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

    cd xgboost

  3. 安装编译好的库 libxgboost.dylib 并链接到它:

    mkdir lib

    cd lib

    ln -s /usr/local/Cellar/xgboost/0.90/lib/libxgboost.dylib ./libxgboost.dylib

  4. 安装 Python 包

    cd ../python-package

    sudo python3 setup.py install

    同样奇怪的是,setup.py 安装了部分 egg 包,所以我必须手动将 xgboost 包目录复制到 site-packages。

    cp -r xgboost /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/

顺便说一句,我还升级了 dask:sudo pip3 install --upgrade dask

于 2020-01-12T20:51:52.913 回答