M1 2020款MacBook Pro安装LightGBM失败,提示需安装CMake
针对M1 MacBook Pro(Monterey 12.6)安装LightGBM的解决方案
1. 修复CMake环境变量问题
brew安装的CMake在M1 Mac上默认路径是/opt/homebrew/bin/cmake,如果系统PATH未包含该路径,pip会无法识别:
- 执行
which cmake,若输出不是/opt/homebrew/bin/cmake,编辑shell配置文件(Monterey默认用zsh,对应~/.zshrc):echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc source ~/.zshrc - 验证:执行
cmake --version,能正常输出版本号则说明路径配置正确。
2. 确保使用ARM架构的Python
M1 Mac上若使用x86架构的Python(通过Rosetta运行),会导致编译依赖不兼容:
- 检查当前Python架构:
输出应为python3 -c "import platform; print(platform.machine())"arm64,若为x86_64,卸载现有x86 Python,用brew安装ARM版:brew install python - 后续统一用
pip3执行安装命令(brew安装的Python默认绑定pip3)。
3. 标准pip安装流程
先安装所有编译依赖,再安装LightGBM:
# 安装编译依赖 brew install cmake opencl-headers libomp # 升级pip到最新版 pip3 install --upgrade pip # 安装LightGBM pip3 install lightgbm
4. 源码编译的正确姿势(若pip安装仍失败)
如果上述步骤无效,使用针对ARM架构优化的编译命令:
# 克隆源码(带子模块) git clone --recursive https://github.com/microsoft/LightGBM.git cd LightGBM # 创建编译目录 mkdir build && cd build # 配置CMake(指定ARM架构和brew提供的编译器) cmake .. -DCMAKE_OSX_ARCHITECTURES=arm64 -DCMAKE_C_COMPILER=/opt/homebrew/bin/gcc -DCMAKE_CXX_COMPILER=/opt/homebrew/bin/g++ # 编译(-j4表示用4线程,可根据CPU核心数调整) make -j4 # 安装Python包 cd ../python-package pip3 install .
注意:全程不要用
sudo执行pip或brew命令,避免权限冲突导致异常。
内容的提问来源于stack exchange,提问作者yeyowi6360
相关产品推荐
相关产品推荐

