Windows环境Python3.5导入torch报错:DLL加载失败
我之前在Windows环境下用Python 3.5配置PyTorch CPU版时,也碰到过一模一样的DLL加载失败问题,试过GitHub上的常规方案没解决,后来靠下面这些针对性步骤搞定了,你可以按顺序排查:
优先安装对应版本的Visual C++运行库
PyTorch对Visual C++ Redistributable的版本要求很严格,Python 3.5对应的必须是Visual C++ Redistributable for Visual Studio 2015——哪怕你电脑上装了更高版本的VS运行库,这个特定版本也不能省略。注意你的Python是32位(x86)的,一定要下载安装32位的运行库,安装完成后重启电脑再测试导入。完全重装匹配版本的PyTorch
先卸载当前可能不兼容的PyTorch版本:pip uninstall torch -y然后安装专门适配Python 3.5 CPU的稳定版本,比如PyTorch 1.0.1(这是支持Python 3.5的最后几个稳定版之一,兼容性拉满):
pip install torch==1.0.1 -f https://download.pytorch.org/whl/cpu/stable检查并配置系统PATH环境变量
把这两个路径添加到系统的PATH变量里:- Python的Scripts目录:
C:\Program Files (x86)\Python35\Scripts - PyTorch的lib目录:
C:\Program Files (x86)\Python35\lib\site-packages\torch\lib
添加完后关闭所有打开的命令行和IDE,重新打开再试import torch。
- Python的Scripts目录:
定位具体缺失的DLL文件
如果上面几步都没用,可以用Dependency Walker工具打开C:\Program Files (x86)\Python35\lib\site-packages\torch\_C.pyd,它会显示到底是哪个DLL文件找不到。如果是msvcp140.dll这类VC++相关的,说明之前的运行库没装对;如果是PyTorch自带的DLL,那就是安装时文件损坏,重新安装即可。
内容的提问来源于stack exchange,提问作者Abhishek Singh

