Error #15: Initializing libiomp5.dylib, but found libiomp5.dylib already initialized
Solution 1:
Do the following to solve the issue:
import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'
Answer found at: https://github.com/dmlc/xgboost/issues/1715
Be aware of potential side-effects:
but that may cause crashes or silently produce incorrect results.
Solution 2:
This is a better solution, if applicable. Else, anyway gcamargo’s solution is likely to work. However, it comes with a warning "that it may cause crashes or silently produce incorrect results"
I had the same error on my Mac with a python program using numpy, keras, and matplotlib. I solved it with
conda install nomkl
Answer found at: https://github.com/dmlc/xgboost/issues/1715
Solution 3:
I had the same issue on macOS and found the following reasons:
Problem:
I had a conda environment where Numpy, SciPy and TensorFlow were installed.
Conda is using Intel(R) MKL Optimizations, see docs:
Anaconda has packaged MKL-powered binary versions of some of the most popular numerical/scientific Python libraries into MKL Optimizations for improved performance.
The Intel MKL functions (e.g. FFT, LAPACK, BLAS) are threaded with the OpenMP technology.
But on macOS you do not need MKL, because the Accelerate Framework comes with its own optimization algorithms and already uses OpenMP. That is the reason for the error message: OMP Error #15: ...
Workaround:
You should install all packages without MKL support:
conda install nomkl
and then use
conda install numpy scipy pandas tensorflow
followed by
conda remove mkl mkl-service
For more information see conda MKL Optimizations.