为什么在尝试导入 torch 时出现错误 'The ordinal 242 could not be located in the dynamic link library'?

Why do I get the error 'The ordinal 242 could not be located in the dynamic link library' when trying to import torch?

我目前在尝试在我的计算机上导入 PyTorch 时遇到一些问题。我在自己的本地 Windows 笔记本电脑(没有任何 GPU)上工作,并从 python.org 安装了 Python 3.6。我没有 Anaconda 发行版,通常通过打开 Windows 命令提示符并使用此命令来安装任何新软件包:pip install package。

通常这足以让我立即使用该包(通过 Jupyter Notebook 或通过在 Sublime Text 中编写和 运行ning jupya .py 脚本)。但是 PyTorch 似乎不太直接。

我遵循了下面复制的安装说明(来自 PyTorch 网站):

pip

No CUDA

To install PyTorch via pip, and do not have a CUDA-capable system or do not require CUDA, in the above selector, choose OS: Windows, Package: Pip and CUDA: None. Then, run the command that is presented to you.

我打开 Windows 命令提示符并简单地 运行 这个命令:

pip install torch==1.5.1+cpu torchvision==0.6.1+cpu -f https://download.pytorch.org/whl/torch_stable.html

安装成功,过程中没有报错。

现在,当我打开 Jupyter Notebook 并 运行 命令:import torch 我收到以下错误:

python.exe - Ordinal Not Found

The ordinal 242 could not be located in the dynamic link library

c:\users\bdour\appdata\local\programs\python\python36\lib\site-packages\torch\lib\torch_cpu.dll

我检查过 torch_cpu.dll 文件确实存在于错误中提到的路径中。

我试图理解该错误的含义,但找不到太多帮助。似乎很多人对 PyTorch 有问题,通常是由于他们的 conda 环境存在一些问题,但我没有使用任何环境。我只是想在本地导入和 运行 包。

就像我上面提到的,我通常在使用 pip install 命令时不会遇到任何其他库的问题。

有谁知道该错误的来源以及如何修复它?

提前感谢您的宝贵时间和帮助。

我实际上能够自己找到一个解决方案,我想我会 post 在这里,以防其他人遇到同样的错误。

我发现这很有用 link,建议的解决方案对我有用:https://kittaiwong.wordpress.com/2019/11/04/how-to-fix-the-ordinal-242-could-not-be-located-in-the-dynamic-link-library-mkl_intel_thread-dll/

简而言之,问题似乎出在 C:\Windows\System32[=27 中存在的名为 libiomp5md.dll 的文件=] 与 numpy 完全不兼容的文件夹。

要修复它,我只是通过在 Windows 搜索、打开文件位置(应该是 C:\Windows\System32) 然后重命名为:libiomp5md.dll.bak

现在我可以导入 torch 而不会出现任何错误。

希望这能帮助那些为获得火炬而苦苦挣扎的其他人运行!