繁体   English   中英

英特尔 MKL 错误阻止我在 Python 中导入 Scipy

[英]Intel MKL Error preventing me importing Scipy in Python

我正在尝试使用 scipy.integrate.solve_ivp,但是任何需要 scipy 的导入语句都会出现问题,包括以下简单的内容:

import scipy

当我运行它时,我收到以下错误:

INTEL MKL ERROR:
   dlopen(/Users/user/.conda/envs/nephron/lib/libmkl_intel_thread.dylib, 9): 
   Library not loaded: @rpath/libiomp5.dylib
   Referenced from: /Users/user/.conda/envs/nephron/lib/libmkl_intel_thread.dylib
   Reason: no suitable image found.  Did find:
    /Users/user/.conda/envs/nephron/bin/../lib/libiomp5.dylib: file too short.
Intel MKL FATAL ERROR: Cannot load libmkl_intel_thread.dylib.

我在运行 macOS High Sierra 10.13.6 的 MacBook Air 上使用 Pycharm 社区 IDE(版本 2019.2.3)和 Anaconda 插件(但即使我只在终端中执行脚本也会发生这种情况)和 Python 版本 3.7.5。 我的包管理器是 conda 4.7.12。 编辑:我安装了 scipy 1.3.1 版。

简短搜索后,我无法在 Stack 或 Google 上找到此错误的解释,我尝试查看它是否缺少我的软件包安装,但我查看了 Python 在 Pycharm 中使用的搜索路径(如通过在 Pycharm 的终端中运行python -V进行测试,如果我只是通过我的普通终端运行它,确实会发生这种情况),并且确实 scipy 是沿着搜索路径之一安装的。

编辑:

我尝试创建一个新环境,删除现有环境,使用conda create -n nephron scipy ,这并没有解决问题。

感谢另一位用户添加相关标签。

其他一些其他英特尔软件包(例如 numpy)似乎也会出现同样的问题。

我在几个月前安装了 scipy 后安装了 seaborn 时遇到了同样的问题。 Scipy 安装了 mkl=2019 包,最新版本的 seaborn 需要 mkl=2020。

我所做的只是删除了 scipy、seaborn 和 mkl=2019,然后我从 conda 重新安装了它们。

根本原因可能是NumPy,SciPy 无法加载正确的 MKL 或 Intel OpenMP 运行时库 这几乎总是由以下两件事之一引起的:

  1. 带有 NumPy 或 SciPy 的环境尚未激活。

  2. 另一家软件供应商已将 MKL 或 Intel OpenMP (libiomp5md.dll) 文件安装到 C:\\Windows\\System32 文件夹中。 这些文件在 Anaconda 之前加载,并且它们不兼容。

尝试设置环境或预加载dll等。

这里是 Linux

export LD_PRELOAD=/opt/intel/mkl/lib/intel64/libmkl_def.so:/opt/intel/mkl/lib/intel64/libmkl_avx2.so:/opt/intel/mkl/lib/intel64/libmkl_core.so:/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.so:/opt/intel/mkl/lib/intel64/libmkl_intel_thread.so:/opt/intel/lib/intel64_lin/libiomp5.so

在 windows 中,通过 mkl/bin/mklvars.bat intel64 设置 env,然后在相同的环境中运行你的 python

或在 python 中手动添加库 sys.path.append(" your path to the library") 或Pyinstaller numpy "Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll" ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM