未找到 LightGBM

LightGBM not found

提问人:user22764962 提问时间:10/19/2023 最后编辑:Ro.oTuser22764962 更新时间:11/14/2023 访问量:73

问:

我在尝试在我的 Python 项目中使用 LightGBM 时遇到了错误。每当我尝试在代码中导入 LightGBM 时,都会收到以下错误:

OSError: dlopen(/Users/hp/opt/anaconda3/envs/MachineLearning/lib/python3.9/site-packages/lightgbm/lib/lib_lightgbm.so, 0x0006): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
Referenced from: <3AF1EF0C-311C-31EC-BCE3-679F37ABEE16> /Users/hp/opt/anaconda3/envs/MachineLearning/lib/python3.9/site-packages/lightgbm/lib/lib_lightgbm.so
Reason: tried: '/usr/local/opt/libomp/lib/libomp.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/libomp/lib/libomp.dylib' (no such file), '/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, not in dyld cache)

我在 macOS 上名为“MachineLearning”的 conda 环境中工作,我尝试按照各种来源中的建议设置 和 环境变量,但问题仍然存在。 有人可以帮我了解导致此错误的原因并提供解决它的步骤吗?我被困在这一点上,因为我正在尝试将 LightGBM 用于 Streamlit 和 FastAPI 项目。LDFLAGSCPPFLAGS

环境详细信息:

  • Python版本:3.9
  • Conda 环境:“机器学习”
  • 操作系统:macOS

任何见解或指导将不胜感激。谢谢!

蟒蛇 macOS LightGBM

评论


答:

-1赞 comphilip 10/19/2023 #1

错误表示未安装 OpenMP 库。根据 LightGBM 文档,最好通过brew install lightgbm

评论

0赞 user22764962 10/21/2023
我已经这样做了,但它仍然不起作用
0赞 comphilip 10/24/2023
实际上,lightgbm python 包通过 .无需冲泡。请提供完整的错误调用堆栈以帮助进行故障排除。pip install lightgbm
0赞 James Lamb 11/14/2023
这个答案没有解决OP的问题。问题是关于安装(LightGBM Python 包)。 安装命令行界面 (CLI)。lightgbmbrew install lightgbmlightgbm
0赞 James Lamb 11/14/2023 #2

默认情况下,Python 包的发行版希望能够在运行时链接到 OpenMP。在链接器将搜索的任何标准路径上,您似乎都没有可用的 OpenMP。lightgbm

由于您已经在环境中工作,因此请使用 / 安装 ,而不是 .这样,您将自动获得 OpenMP 的发行版(conda-forge/lightgbm-feedstock 链接),而无需担心单独安装它。condacondamambalightgbmpip installconda-forge

运行以下命令以解决您的问题:

# remove pip-installed copy of 'lightgbm' in MachineLearning conda env
source activate MachineLearning
pip uninstall --yes lightgbm

# install conda-forge distribution instead
conda install \
   --yes \
   --name MachineLearning \
   -c conda-forge \
   'lightgbm>=4.1.0'

这样一来,您就不需要对环境变量进行任何自定义,例如,并且应该在该环境中的 Python 进程中成功加载。LDFLAGSlightgbmconda

如果绝对有必要使用或从源代码构建(例如,自定义构建或使用未发布的版本),则在该 conda 环境中单独安装 OpenMP:pip install lightgbmlightgbm

conda install \
   --yes \
   --name MachineLearning \
   -c conda-forge \
   llvm-openmp