[英]Getting this simple problem while importing Xgboost on Jupyter notebook
在我导入 Xgboost 之前,Jupyter 笔记本中的一切都运行良好。 一旦我导入它,我就会遇到以下问题。 我有 Python 3.8 并通过终端 pip3 方法安装了它,接下来我该怎么办?
---------------------------------------------------------------------------
XGBoostError Traceback (most recent call last)
<ipython-input-17-a81e4513ce38> in <module>
1 # Let's Learn about the stock market using XGBOOST
2
----> 3 import xgboost as xgb
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/xgboost/__init__.py in <module>
9 import warnings
10
---> 11 from .core import DMatrix, DeviceQuantileDMatrix, Booster
12 from .training import train, cv
13 from . import rabit # noqa
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/xgboost/core.py in <module>
173
174 # load the XGBoost library globally
--> 175 _LIB = _load_lib()
176
177
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/xgboost/core.py in _load_lib()
156 if not lib_success:
157 libname = os.path.basename(lib_paths[0])
--> 158 raise XGBoostError(
159 'XGBoost Library ({}) could not be loaded.\n'.format(libname) +
160 'Likely causes:\n' +
XGBoostError: XGBoost Library (libxgboost.dylib) could not be loaded.
Likely causes:
* OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows,
libomp.dylib for Mac OSX, libgomp.so for Linux and other UNIX-like OSes).
Mac OSX users: Run `brew install libomp` to install OpenMP runtime.
* You are running 32-bit Python on a 64-bit OS
Error message(s): ['dlopen(/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/xgboost/lib/libxgboost.dylib, 6): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib\n Referenced from: /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/xgboost/lib/libxgboost.dylib\n Reason: image not found']
我通过为 Mac OSX 安装 libomp.dylib 解决了这个问题。 答案一直都在。
您可以通过运行以下命令来执行此操作:
brew install libomp
您必须先在您的 MAC 上安装 brew: https://brew.sh/ (Brew 可能需要一些时间来安装)然后在您的终端中运行以下命令: brew install libomp
如果您使用 anaconda,您可以使用:
conda install py-xgboost
如果您有 Python 3.7 或更高版本,您可以如下解决:
!brew install libomp
如果您使用的是 anaconda,以下命令对我有用
conda install -c conda-forge xgboost
如果brew install libomp
不起作用,则可能是libomp
安装到了不同的位置。
xgboost 需要libomp.dylib
在usr/local/opt/libomp/lib/libomp.dylib
,但brew
可能会在/opt/brew/Cellar/libomp/11.0.1/lib/libomp.dylib
下安装它。 您可以将您的复制到 xgboost 所需的路径。
原因是 xgboost 正在以下位置寻找动态库,这不是它可能安装到的位置。
Reason: tried: '/libomp.dylib' (no such file), '/usr/local/opt/libomp/lib/libomp.dylib' (no such file), '/libomp.dylib' (no such file), '/Users/michaeltu/third-party/lib/libomp.dylib' (no such file)"]
首先,如果您还没有这样做, brew install libomp
。
之后,检查 brew 安装库的位置。
$ brew info libomp
libomp: stable 12.0.0 (bottled)
LLVM's OpenMP runtime library
https://openmp.llvm.org/
/opt/brew/Cellar/libomp/12.0.0 (9 files, 1.5MB) *
我们看到它在这里安装了它:
$ ls /opt/brew/Cellar/libomp/12.0.0/lib/
libomp.a libomp.dylib
制作一个 simlink(基于您安装的 libomp 版本):
$ mkdir -p /usr/local/opt/libomp/
$ ln -s /opt/brew/Cellar/libomp/12.0.0/lib /usr/local/opt/libomp/lib
再次尝试导入。 这能够解决我的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.