我是mac m2芯片,在安装lightgbm一直报错,
pip install lightgbm -i https://pypi.tuna.tsinghua.edu.cn/simple/
报错如下:
OSError: dlopen(/Users/opt/miniconda3/lib/python3.8/site-packages/lightgbm/lib/lib_lightgbm.so, 0x0006): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
Referenced from: <AF2B35E2-56EE-3669-88A6-BBD75577D81F> /Users/opt/miniconda3/lib/python3.8/site-packages/lightgbm/lib/lib_lightgbm.so
Reason: tried: '/usr/local/opt/libomp/lib/libomp.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/libomp/lib/libomp.dylib' (no such file), '/usr/local/opt/libomp/lib/libomp.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/usr/local/lib/libomp.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/usr/lib/libomp.dylib' (no such file, not in dyld cache), '/opt/homebrew/Cellar/libomp/17.0.6/lib/libomp.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/Cellar/libomp/17.0.6/lib/libomp.dylib' (no such file), '/opt/homebrew/Cellar/libomp/17.0.6/lib/libomp.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/usr/local/lib/libomp.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/usr/lib/libomp.dylib' (no such file, not in dyld cache)
问题可能是x86和arm架构冲突,尝试了很多办法之后无果,最后在chatGPT的帮助下找到以下解决方案:
首先使用conda定安装适合该环境的lightGBM:
conda install lightgbm -c conda-forge
安装了之后继续出现报错:
ImportError: cannot import name 'DataFrame' from 'lightgbm.compat' (/Users/opt/miniconda3/lib/python3.8/site-packages/lightgbm/compat.py)
继续询问chatGPT,找到以下解决方案:
conda update lightgbm
然后再运行lightGBM就没再报错了。
from lightgbm import LGBMClassifier