You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1芯片Mac导入darts模型遇OSError:libomp.dylib库未加载

问题:M1 Mac Anaconda环境下导入darts模型触发LightGBM libomp依赖错误

报错核心信息

OSError: dlopen(/Users/sp/opt/anaconda3/envs/august/lib/python3.9/site-packages/lightgbm/lib_lightgbm.so, 0x0006): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
Referenced from: /Users/sp/opt/anaconda3/envs/august/lib/python3.9/site-packages/lightgbm/lib_lightgbm.so
Reason: tried: '/usr/local/opt/libomp/lib/libomp.dylib' (no such file), '/usr/local/lib/libomp.dylib' (no such file), '/usr/lib/libomp.dylib' (no such file)

测试代码

import pandas as pd
import darts
from darts import TimeSeries

# Read a pandas DataFrame
df = pd.read_csv('/Users/sp/Documents/Skripsie/airline-passenger-traffic.csv')

# Create a TimeSeries, specifying the time and value columns
series = TimeSeries.from_dataframe(df, '1949-01', '112')

# Set aside the last 36 months as a validation series
train, val = series[:-36], series[-36:]

from darts.models import ExponentialSmoothing

完整报错栈

Traceback (most recent call last):
  File "/var/folders/51/7qn6p5813zd3dw8p2c_t3btr0000gn/T/ipykernel_68567/3838417146.py", line 1, in <module>
    from darts.models import ExponentialSmoothing
  File "/Users/sp/opt/anaconda3/envs/august/lib/python3.9/site-packages/darts/models/__init__.py", line 46, in <module>
    from darts.models.forecasting.gradient_boosted_model import LightGBMModel
  File "/Users/sp/opt/anaconda3/envs/august/lib/python3.9/site-packages/darts/models/forecasting/gradient_boosted_model.py", line 13, in <module>
    import lightgbm as lgb
  File "/Users/sp/opt/anaconda3/envs/august/lib/python3.9/site-packages/lightgbm/__init__.py", line 8, in <module>
    from .basic import Booster, Dataset, Sequence, register_logger
  File "/Users/sp/opt/anaconda3/envs/august/lib/python3.9/site-packages/lightgbm/basic.py", line 110, in <module>
    _LIB = _load_lib()
  File "/Users/sp/opt/anaconda3/envs/august/lib/python3.9/site-packages/lightgbm/basic.py", line 101, in _load_lib
    lib = ctypes.cdll.LoadLibrary(lib_path[0])
  File "/Users/sp/opt/anaconda3/envs/august/lib/python3.9/ctypes/__init__.py", line 460, in LoadLibrary
    return self._dlltype(name)
  File "/Users/sp/opt/anaconda3/envs/august/lib/python3.9/ctypes/__init__.py", line 382, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: dlopen(/Users/sp/opt/anaconda3/envs/august/lib/python3.9/site-packages/lightgbm/lib_lightgbm.so, 0x0006): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
  Referenced from: /Users/sp/opt/anaconda3/envs/august/lib/python3.9/site-packages/lightgbm/lib_lightgbm.so
  Reason: tried: '/usr/local/opt/libomp/lib/libomp.dylib' (no such file), '/usr/local/lib/libomp.dylib' (no such file), '/usr/lib/libomp.dylib' (no such file)

解决方案

M1芯片Mac的brew默认安装路径是/opt/homebrew,而Anaconda环境的LightGBM默认查找/usr/local下的libomp,导致路径不匹配,以下是针对性修复方法:

1. 优先使用conda安装libomp

直接在当前Anaconda环境中安装conda维护的libomp,避免跨环境路径问题:

conda activate august
conda install -c conda-forge libomp

2. 创建软链接映射brew安装的libomp路径

如果已经通过brew安装libomp,可将其路径映射到LightGBM查找的路径:

# 确保libomp已安装
brew install libomp
# 创建目标目录(若不存在)
sudo mkdir -p /usr/local/opt/libomp/lib
# 建立软链接
sudo ln -s /opt/homebrew/opt/libomp/lib/libomp.dylib /usr/local/opt/libomp/lib/libomp.dylib

3. 设置环境变量指定libomp位置

在Spyder中添加环境变量,让系统找到正确的libomp:

  • 打开Spyder,进入Tools > Preferences > Python interpreter > Environment variables
  • 添加变量:DYLD_LIBRARY_PATH,值为/opt/homebrew/opt/libomp/lib:$DYLD_LIBRARY_PATH
  • 重启Spyder生效

也可在终端激活环境后临时设置:

conda activate august
export DYLD_LIBRARY_PATH=/opt/homebrew/opt/libomp/lib:$DYLD_LIBRARY_PATH

4. 手动编译适配M1的LightGBM(极端情况)

若上述方法均无效,手动编译源码安装:

conda activate august
# 安装编译依赖
conda install -c conda-forge cmake gcc
# 克隆仓库并编译
git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM/python-package
python setup.py install --install-lib=$CONDA_PREFIX/lib/python3.9/site-packages

内容的提问来源于stack exchange,提问作者sjp00

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 16:36:22