我试图使用from darts. models import ExponentialSmoothing
从省道包导入预测模型,并返回以下错误:
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)
我见过很多人在安装LightGBM时遇到了同样的问题,并且尝试过所有这些修复。我试过brew安装libomp,我卸载和重新安装了Anaconda,我使用了不同的环境,我安装了gcc和cmake,没有任何工作。我有一个MacBook Pro与M1芯片和使用Spyder与Anaconda。有人能回答这个问题吗?
我的代码是直接从镖包站点获取的,其输出如下:
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)```
发布于 2022-08-25 22:38:50
sjp00,
你的帖子可能是我写的几乎是逐字写的。我经历了一个非常相似的过程。把头发拔出来后,这才是起作用的。TL;DR是指飞镖要在苹果M1电脑上与LightGBM合作,就需要使用。默认conda将无法工作(但可能在将来的某个日期)。
阅读这个问题有助于澄清情况,https://github.com/microsoft/LightGBM/issues/4843
特别是,StrikerRUS的评论:
“如果我正确理解,默认的conda通道缺乏对macOS-arm64软件包的支持。”(https://github.com/microsoft/LightGBM/issues/4843#issuecomment-1012313487)
和
的一个不同之处可能是,我使用的是Conda而不是miniconda?
嗯!这是我的主要假设!我相信LightGBM是为arm64架构编译的,但是conda (和Python)是基于x64的,是通过Rosetta 2翻译运行的。所以建筑失配就会发生。
(https://github.com/microsoft/LightGBM/issues/4843#issuecomment-1061332231)
我的笔记本电脑是MacBook Pro (16英寸,2021),带有苹果M1 Pro芯片,安装了macOS conda版本12.5.1,并安装了以下conda设置:
conda信息
active环境: /Users/bhudson/opt/anaconda3/envs/lightgbm_test_env active env位置: lightgbm_test_env shell级别:2用户配置文件:/ user /bhudson/..condarc填充的配置文件:/lightgbm_test_env/bhudson/..condarc版本: 4.14.0 conda -构建版本: 3.21.9 python版本: 3.9.7.final.0虚拟包:__osx=10.16=0 __unix=0=0 __archspec=1=x86_64基本环境:/__archspec=1=x86_64/bhudson/opt/anaconda3 3(可写) conda数据dir :/__archspec=1=x86_64/bhudson/opt/anaconda3 3/etc/ conda元数据url :无通道url:https://conda.anaconda.org/conda-forge/osx-64 https://conda.anaconda.org/conda-forge/noarch https://repo.anaconda.com/pkgs/main/osx-64 https://repo.anaconda.com/pkgs/main/noarchhttps://repo.anaconda.com/pkgs/r/osx-64 https://repo.anaconda.com/pkgs/r/noarch包缓存:/user/bhudson/opt/anaconda3 3/pkgs/user/bhudson/.conda/pkgs envs目录:/user/bhudson/opt/anaconda3 3/envs/user/bhudson/.conda/envs平台: osx-64用户代理: conda/4.14.0请求/2。26.0 CPython/3.9.7达尔文/21.6.0 OSX/10.16 UID:GID : 501:20 netrc文件:无脱机模式: False
这就是我终于成功的原因。首先创建并激活干净的python3.9环境
conda create -n lightgbm_test_env python=3.9
conda activate lightgbm_test_env
确保将conda forge作为通道添加(并且这是优先的)
conda config --add channels conda-forge
conda config --set channel_priority strict
然后用LightGBM同时安装所有的LightGBM。
conda install -c conda-forge -c pytorch u8darts-all lightgbm
"-c conda- for“标志可能不是绝对必要的,但我留下它作为额外的冗余。
https://stackoverflow.com/questions/73370909
复制相似问题