【问题标题】:Installing Lightgbm on Mac with OpenMP dependency在具有 OpenMP 依赖项的 Mac 上安装 Lightgbm
【发布时间】:2017-12-05 01:37:24
【问题描述】:

我是 python 新手,想在我的 macbook 上安装 lightgbm。我做了一个pip install lightgbm,它说安装成功。但是,当我尝试将其导入笔记本时,我收到以下错误消息:

../anaconda/envs/python3/lib/python3.6/ctypes/__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error)
342 
343         if handle is None:
--> 344             self._handle = _dlopen(self._name, mode)
345         else:
346             self._handle = handle

OSError: dlopen(../anaconda/envs/python3/lib/python3.6/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/gcc/lib/gcc/7/libgomp.1.dylib
Referenced from: ../anaconda/envs/python3/lib/python3.6/site-packages/lightgbm/lib_lightgbm.so
Reason: image not found

lightgbm 网站上的文档使用brew install... 给出了不同的安装指南。我的问题是我是否必须进行 brew 安装?如果是这样,为什么 pip 安装显示安装成功呢?

【问题讨论】:

标签: python python-3.x pip openmpi lightgbm


【解决方案1】:

pip 只会安装lightgbm python 文件。 documentation 声明 lightgbm 依赖于 OpenMP。所以你也需要安装它。您面临的问题是因为 python 找不到 OpenMP 附带的所需“动态链接库”。

brew install open-mpi 应该可以解决问题。

旁注:作为一个快速测试,我安装lightgbm 的方式与您相同,但遇到了同样的问题。但我在/usr/local/opt/gcc/lib/gcc/6 中找到了libgopm.1.dylib。将其符号链接到所需路径并未证明是成功的。

【讨论】:

  • 首先如何获得“brew”?
  • /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 来源:brew.sh
【解决方案2】:

对于 Mac OS,这对我有用: https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html

macOS 在 macOS 上,LightGBM 可以使用 CMake 和 Apple Clang 或 gcc 构建。

苹果叮当声 仅支持 Apple Clang 8.1 或更高版本。

安装 CMake(3.12 或更高版本):

brew 安装 cmake 安装 OpenMP:

brew 安装 libomp 运行以下命令:

git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
mkdir build ; cd build

对于莫哈韦 (10.14)

cmake 
-DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp -I$(brew --prefix libomp)/include" 
-DOpenMP_C_LIB_NAMES="omp" 
-DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp -I$(brew --prefix libomp)/include" 
-DOpenMP_CXX_LIB_NAMES="omp" 
-DOpenMP_omp_LIBRARY=$(brew --prefix libomp)/lib/libomp.dylib 
..

对于 High Sierra 或更早版本 (

cmake ..

make -j4

gcc 安装 CMake(3.2 或更高版本):

brew install cmake

安装 gcc:

brew install gcc

运行以下命令:

git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
export CXX=g++-7 CC=gcc-7 # replace "7" with version of gcc installed on your machine
mkdir build ; cd build
cmake ..
make -j4

【讨论】:

    【解决方案3】:

    对于 MacPorts 用户:

    安装必备端口:

    port install cmake gcc7 openmpi-gcc7
    

    使用 pip 安装 LightGBM:

    export CXX=g++-mp-7 CC=gcc-mp-7
    pip install lightgbm --install-option=--mpi
    

    在 Python 包安装指南中检查其他安装选项,例如 --gpu--hdfshttps://github.com/Microsoft/LightGBM/tree/master/python-package

    【讨论】:

      猜你喜欢
      • 2013-08-30
      • 1970-01-01
      • 2010-11-06
      • 1970-01-01
      • 2016-08-21
      • 2016-05-10
      • 2018-03-04
      • 2015-05-25
      • 1970-01-01
      相关资源
      最近更新 更多