报错信息:
OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.
下文将介绍3个解决方法
解决方法:
- 在代码中设置变量
import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"
这种方法可能会不生效。
- 也可以直接在终端设置:
Windows:
set KMP_DUPLICATE_LIB_OK=True
Linux:
export KMP_DUPLICATE_LIB_OK=True
这种方法有效但是每开启一次终端就得设置一次
- 安装nomkl
conda install nomkl --channel conda-forge
这种方法同样有效,但是可能会改变原有的环境中的包,谨慎使用