Everything was running fine in Jupyter notebook until I imported Xgboost. As soon as I import it I get the problem below. I have Python 3.8 and have installed it via terminal pip3 method, what should I do next?
---------------------------------------------------------------------------
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']
I solved it by installing libomp.dylib for Mac OSX. The answer was there all along.
You can do it by running the following command:
brew install libomp
You must install brew on your MAC first: https://brew.sh/ (Brew might take a moment to install) Then run the following in your terminal: brew install libomp
If you use anaconda, you can use:
conda install py-xgboost
You can solve it as below if you have Python 3.7 or higher:
!brew install libomp
Below command worked for me if you are using anaconda
conda install -c conda-forge xgboost
If brew install libomp
doesn't work, libomp
might be installed to a different place.
xgboost needs libomp.dylib
under usr/local/opt/libomp/lib/libomp.dylib
, but brew
may install it under /opt/brew/Cellar/libomp/11.0.1/lib/libomp.dylib
. You can copy yours to the xgboost required path.
The cause is that xgboost is looking for the dynamic library at the following locations, which is not where it might be installed to.
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)"]
First, brew install libomp
if you haven't done so.
After that, check where brew installed the library.
$ 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) *
We see it installed it here:
$ ls /opt/brew/Cellar/libomp/12.0.0/lib/
libomp.a libomp.dylib
Make a simlink (based on the version of libomp you installed):
$ mkdir -p /usr/local/opt/libomp/
$ ln -s /opt/brew/Cellar/libomp/12.0.0/lib /usr/local/opt/libomp/lib
Try importing it again. This was able to resolve my issue.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.