在具有 OpenMP 依赖性的 Mac 上安装 Lightgbm
Installing Lightgbm on Mac with OpenMP dependency
我是 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 install?如果是这样为什么pip安装显示安装成功?
pip
只会安装 lightgbm
python 个文件。 documentation 指出 lightgbm
取决于 OpenMP。所以你也需要安装它。您遇到的问题是因为 python 找不到 OpenMP 附带的所需 "dynamic link library"。
brew install open-mpi
它应该可以解决问题。
旁注:作为快速测试,我按照与您相同的方式安装了 lightgbm
,但遇到了同样的问题。但是我在 /usr/local/opt/gcc/lib/gcc/6
中找到了 libgopm.1.dylib
。将其符号链接到所需路径并未证明是成功的。
对于 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-package 安装指南中的其他安装选项,如 --gpu
和 --hdfs
:
https://github.com/Microsoft/LightGBM/tree/master/python-package
对于 Mac OS,这对我有用:
https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html
macOS
在 mac 上OS 可以使用 CMake 和 Apple Clang 或 gcc 构建 LightGBM。
Apple Clang
仅支持 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 或更早版本 (<= 10.13)
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
我是 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 install?如果是这样为什么pip安装显示安装成功?
pip
只会安装 lightgbm
python 个文件。 documentation 指出 lightgbm
取决于 OpenMP。所以你也需要安装它。您遇到的问题是因为 python 找不到 OpenMP 附带的所需 "dynamic link library"。
brew install open-mpi
它应该可以解决问题。
旁注:作为快速测试,我按照与您相同的方式安装了 lightgbm
,但遇到了同样的问题。但是我在 /usr/local/opt/gcc/lib/gcc/6
中找到了 libgopm.1.dylib
。将其符号链接到所需路径并未证明是成功的。
对于 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-package 安装指南中的其他安装选项,如 --gpu
和 --hdfs
:
https://github.com/Microsoft/LightGBM/tree/master/python-package
对于 Mac OS,这对我有用: https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html
macOS 在 mac 上OS 可以使用 CMake 和 Apple Clang 或 gcc 构建 LightGBM。
Apple Clang 仅支持 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 或更早版本 (<= 10.13)
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