美文网首页
Pip install xgboost on Mac OS X

Pip install xgboost on Mac OS X

作者: 穿越那片海 | 来源:发表于2017-11-22 11:58 被阅读0次

    运行环境

    Mac OS 10.12.6
    python 3.6.2
    pip 9.0.1
    gcc 7.2.0

    问题

    无法使用pip install xgboost安装xgboost

    $pip install xgboost
    Collecting xgboost
    Using cached xgboost-0.6a2.tar.gz
    Complete output from command python setup.py egg_info:
    rm -f -rf build build_plugin lib bin ~ /~ //~ ///~ /.o //.o ///.o xgboost
    which: no gcc-5 in (/Users/yong.zhang/entity-embedding-rossmann/venv/bin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/bin:/Users/yong.zhang/anaconda3/bin:/Users/yong.zhang/Applications/anaconda/bin :/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/Cellar/hadoop/2.8.1/libexec/sbin:/usr/local/Cellar/hadoop/2.8.1/libexec/bin)
    ...
    make: *** [build/learner.o] Error 127
    make: *** Waiting for unfinished jobs....
    clang-omp++ -std=c++0x -Wall -O3 -msse2 -Wno-unknown-pragmas -funroll-loops -Iinclude -Idmlc-core/include -Irabit/include -fPIC -fopenmp -MM -MT build/logging.o src/logging.cc >build/logging.d
    /bin/sh: clang-omp++: command not found
    make: *** [build/logging.o] Error 127
    -----------------------------
    Building multi-thread xgboost failed
    Start to build single-thread xgboost
    rm -f -rf build build_plugin lib bin ~ /~ //~ //
    /~ /.o //.o ///.o xgboost
    Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/private/var/folders/x6/82p0vbnx3kj9ffcvr35y_tr40000gp/T/pip-build-jl7jcggp/xgboost/setup.py", line 29, in <module>
    LIB_PATH = libpath'find_lib_path'
    File "/private/var/folders/x6/82p0vbnx3kj9ffcvr35y_tr40000gp/T/pip-build-jl7jcggp/xgboost/xgboost/libpath.py", line 45, in find_lib_path
    'List of candidates:\n' + ('\n'.join(dll_path)))
    XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you install compilers and run build.sh in root path?
    List of candidates:
    /private/var/folders/x6/82p0vbnx3kj9ffcvr35y_tr40000gp/T/pip-build-jl7jcggp/xgboost/xgboost/libxgboost.so
    /private/var/folders/x6/82p0vbnx3kj9ffcvr35y_tr40000gp/T/pip-build-jl7jcggp/xgboost/xgboost/../../lib/libxgboost.so
    /private/var/folders/x6/82p0vbnx3kj9ffcvr35y_tr40000gp/T/pip-build-jl7jcggp/xgboost/xgboost/./lib/libxgboost.so

    出错原因

    pip上的xgboost当前只支持gcc5, 而Mac OS X大多数gcc都已经是gcc6以上的版本,比如我的是gcc7

    解决办法

    感谢github,基友总是在需要的时候出现,
    参考Problems while installing in OSX 10.11.6? #1501, 找到解决办法

    $ brew install gcc@5
    $ pip install xgboost

    这是最简洁的解决办法,当然也可以install from source,此处不做介绍。

    上面的办法应该可以解决大多数人的问题,但是我还遇到一点小麻烦。brew install gcc@5时发现下面的问题

    Error: The brew link step did not complete successfully
    The formula built, but is not symlinked into /usr/local
    Could not symlink share/man/man7/fsf-funding-5.7
    /usr/local/share/man/man7 is not writable.

    此处涉及brew permission的问题,寻找Brew Troubleshooting解决

    If commands fail with permissions errors, check the permissions of /usr/local’s subdirectories. If you’re unsure what to do, you can run cd /usr/local && sudo chown -R $(whoami) bin etc include lib sbin share var Frameworks.

    相关文章

      网友评论

          本文标题:Pip install xgboost on Mac OS X

          本文链接:https://www.haomeiwen.com/subject/quenvxtx.html