Windows下Python调用OpenCV遇ImportError: DLL加载失败求助
解决Windows下Python导入cv2时DLL加载失败的问题
哥们,这个问题我碰过好多次了,哪怕装了非官方的whl包也踩过坑,大概率是依赖没配全或者版本不匹配,给你几个亲测有效的排查步骤:
1. 先确认你的whl包完全匹配环境
从那个非官方库下的包,必须和你的Python版本、系统位数严丝合缝!比如你是Python 3.9 64位,就得选带cp39和win_amd64的包,版本错了肯定白搭。
- 怎么验证?打开cmd输入:
第二个命令会输出32或64,对照你下载的whl文件名确认就行。python --version python -c "import struct; print(struct.calcsize('P')*8)"
2. 手动把OpenCV的DLL路径加到系统PATH里
很多时候系统找不到OpenCV的DLL文件,哪怕包装好了也没用。操作步骤:
- 找到你Python安装目录下的
Lib\site-packages\cv2\python-xx(xx是你的Python版本,比如python-39)文件夹,里面全是.dll文件; - 复制这个文件夹的完整路径,加到系统的
PATH环境变量里(右键此电脑→属性→高级系统设置→环境变量→系统变量里的PATH→编辑→新建,粘贴路径); - 重启你的命令行或者IDE,再试
import cv2。
3. 补装VC++运行库
OpenCV依赖微软的VC++运行库,要是系统没装对应版本,直接就会报DLL找不到。
- 去微软官网下载对应版本的VC++ Redistributable(OpenCV 4.x一般需要2019或2022版的,32/64位对应你的系统);
- 安装完重启电脑,再测试导入。
4. 卸载重装OpenCV(强制覆盖)
有时候安装过程中文件损坏也会出问题,试试彻底重装:
pip uninstall opencv-python -y pip install opencv-python --upgrade --force-reinstall
嫌官方源慢的话,用国内镜像加速:
pip install opencv-python --upgrade --force-reinstall -i https://pypi.tuna.tsinghua.edu.cn/simple
5. 排查依赖冲突
如果你的环境里有多个Python版本,或者装了旧版本的opencv-contrib-python这类包,也会搞出冲突。
- 输入
pip list看看已安装的包,把重复的opencv相关包都卸载掉; - 建议用虚拟环境隔离项目依赖,避免不同项目的包互相影响。
内容的提问来源于stack exchange,提问作者Paras




