【问题标题】:The ordinal 242 could not be located in the dynamic link library Anaconda3\Library\bin\mkl_intel_thread.dll在动态链接库 Anaconda3\Library\bin\mkl_intel_thread.dll 中找不到序数 242
【发布时间】:2019-04-01 07:00:31
【问题描述】:

我刚刚在 Windows 10 上安装了 Anaconda 5.3 64 位 (Anaconda3-5.3.0-Windows-x86_64),在尝试运行 Spyder 时出现此错误。

pythonw.exe - 未找到序数

无法在动态链接库 C:\Users\username\Anaconda3\Library\bin\mkl_intel_thread.dll 中找到序数。

我使用Dependency Walker 查看 DLL 中的函数,发现序号 242 在那里。与序数 242 关联的函数是 mkl_blas_zherk。

谁能帮我解决这个问题或指导我找到资源来帮助我自己解决这个问题?

【问题讨论】:

标签: python python-3.x dll anaconda conda


【解决方案1】:

快速回答:

set CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1

我为此设置了一个用户环境变量。

官方回答是here

【讨论】:

  • 问题在链接页面中说明:“另一个软件供应商已将 MKL 或 Intel OpenMP (libiomp5md.dll) 文件安装到 C:\Windows\System32 文件夹中”。
【解决方案2】:

如果您从控制台运行 Python/IPython,请使用 where 检查 libiomp5md.dll 的优先级,即:

where libiomp5md.dll

这可能会显示一些指向不同libiomp5md.dll 文件的绝对路径(每行一个)。一个健康的设置应该在顶部列出 Anaconda(例如 C:\ProgramData\Anaconda3\Library\bin\libiomp5md.dll),如果下面列出了任何其他的,它们可以被忽略,因为它们的优先级较低。

但是,如果您在顶部看到不同的 libiomp5md.dll 路径,那么它将首先加载,并且可能与 Anaconda 的 DLL 冲突。如果此文件在当前目录中,则将目录更改为没有此文件的文件夹,或者(如果可能)删除或重命名冲突的 DLL 文件。如果它位于不同的文件夹中,那么您可能需要重新排列 PATH 变量以将 Anaconda 移动到其他路径之前。

【讨论】:

  • 很遗憾我只能投票一次 - 谢谢你的回答!我已经尝试修复这个错误好几个小时了,但似乎没有任何效果..你的描述真的帮助了我:-)
  • 在 System32 中重命名 libiomp5md.dll 解决了问题
【解决方案3】:

这不是一个正确的答案,但对我来说(遇到完全相同的问题)一种解决方法是使用 Anaconda Navigator 将“anaconda”降级到 5.2.0。如果这也适用于您,您可以开始升级单个软件包以查看错误何时再次出现。也许这是其中一个包中的错误,而不是我们系统的问题。

编辑:以下是一些类似或相关讨论的链接:

更多编辑: 它还帮助我在“C:\Windows\System32”中找到以下文件并重命名它们(我只是在文件名后面附加了“_renamed”)。

  • mkl_core.dll
  • mkl_def.dll
  • mkl_intel_thread.dll

如果我理解正确,Python 将使用这些而不是 Anaconda 文件夹中的那些,这可能会导致问题。

【讨论】:

  • 我也遇到了完全相同的问题,使用 Anaconda Navigator 的“降级”对我有用。
  • 这对我也有用;从 2018 版本降级到 5.2.0。找到降级选项并不明显,但它就在那里,降级运行需要一段时间;在我刚刚安装 Anaconda 打开一个我想看的笔记本之后,令人沮丧!
  • @MarcStober 你是如何降级的?
  • 从 Anaconda Navigator 降级: 1. 环境(左侧菜单) 2. 选择“anaconda”(我认为不需要右键单击)并选择“安装不同版本”或类似的东西 3. 选择版本 4. 它会搜索每个依赖项并告诉它需要重新安装多少包。
【解决方案4】:
['System32\libiomp5md.dll', 'System32\mkl_core.dll', 
'System32\mkl_def.dll','System32\mkl_intel_thread.dll',
'SysWOW64\libiomp5md.dll','SysWOW64\mkl_core.dll','SysWOW64\mkl_intel_thread.dll', 
'SysWOW64\mkl_p4.dll', 'SysWOW64\mkl_p4m.dll','SysWOW64\mkl_p4m3.dll', 
'SysWOW64\mkl_p4p.dll']

从 C:\Windows\SysWOW64 和 C:\Windows\System32 中删除所有这些 dll 文件

只需执行此操作并再次重新启动 spyder 就可以了!你的问题将得到解决,spyder 将打开而不显示任何序数 242 错误............只是这样做是唯一的解决方案..

【讨论】:

  • 为什么我应该删除存在的文件?所以其他一些程序可能需要它?!
  • 来源:conda.io/projects/conda/en/latest/user-guide/… 这两个软件可能已经安装(并使用)了那些 mkl:Amplitube,IK Multimedia ASIO4ALL,Michael Tippach 我不知道他们是否会继续工作。
  • 成功了!将文件保存在另一个目录中,以防不同的程序需要它们。
  • 为我工作。谢谢!如果有一天我需要的话,我还将文件保存在另一个目录中。
【解决方案5】:

解决这个问题的方法是卸载 Amplitube 和 ActiveState Python。我在使用 Anaconda 提示符和一些 NLP 包时收到此异常。

【讨论】:

    【解决方案6】:

    我遇到了同样的问题,在尝试了包括上述在内的许多解决方案之后,我终于设法解决了。

    首先,打开命令提示符(管理员)并输入:

    set CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1
    

    然后,启动 Spyder IDE,始终使用命令提示符,只需输入:

    spyder
    

    始终使用命令提示符启动 spyder 很重要。如果您使用 Anaconda Navigator 启动 Spyder,它仍然会给您错误消息。

    【讨论】:

      【解决方案7】:

      按照@Azrael_DD的解决方案降级到anaconda v5.2.0,你也可以通过普通控制台来完成:

      conda install anaconda=5.2.0
      

      【讨论】:

        【解决方案8】:

        对我有用的另一种方法(我删除了所有 DLL 文件,但问题仍然存在)是将 ANACONDA 降级为 Anaconda3-5.2.0-Windows-x86_64。 我在这个link 得到了安装程序

        【讨论】:

          猜你喜欢
          • 2021-01-18
          • 1970-01-01
          • 2020-11-07
          • 2019-11-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多