无CUDA版PyTorch运行项目遇mkl-service及numpy DLL加载错误求助
报错信息
D:\software\anaconda\envs\pytorch\lib\site-packages\numpy_init_.py:138: UserWarning: mkl-service package failed to import, therefore Intel(R) MKL initialization ensuring its correct out-of-the box operation under condition when Gnu OpenMP had already been loaded by Python process is not assured. Please install mkl-service package...
Traceback (most recent call last):
File "D:\software\anaconda\envs\pytorch\lib\site-packages\numpy\core_init_.py", line 22, in
from . import multiarray
File "D:\software\anaconda\envs\pytorch\lib\site-packages\numpy\core\multiarray.py", line 12, in
from . import overrides
File "D:\software\anaconda\envs\pytorch\lib\site-packages\numpy\core\overrides.py", line 7, in
from numpy.core._multiarray_umath import (
ImportError: DLL load failed: 找不到指定的模块。
解决方案
彻底重装numpy与mkl-service(推荐)
基于Anaconda环境的依赖特性,用conda执行以下操作:# 强制卸载现有冲突包 conda remove --force numpy mkl-service # 安装与PyTorch兼容的指定版本numpy(以1.21.x为例,可根据PyTorch版本微调) conda install numpy=1.21.* mkl-service配置系统环境变量
将Anaconda虚拟环境的Library\bin路径(如D:\software\anaconda\envs\pytorch\Library\bin)添加到系统环境变量Path的最前端,确保系统优先加载当前环境的DLL文件。切换至OpenBLAS版本numpy
若MKL相关问题持续无法解决,可安装不带MKL依赖的numpy:conda install numpy nomkl验证修复结果
打开Python终端,执行以下命令确认无报错:import numpy import torch print(numpy.__version__, torch.__version__)
内容的提问来源于stack exchange,提问作者lxl_doEVER

