导入pyzbar时出现OSError: [WinError 126] 找不到指定模块问题求助
pyzbar导入报错解决方案
你遇到的两个报错本质是pyzbar调用的底层zbar动态链接库(dll)和当前运行环境不兼容:
- WinError 126代表系统找不到对应的zbar依赖dll
- WinError 193代表找到的dll架构和你当前的Python/系统架构不匹配(常见为32位dll适配64位Python,或反过来)
修复步骤
- 先确认当前使用的Python架构,运行命令
python -c "import platform;print(platform.architecture())"查看是32位还是64位,优先保持Python架构和系统架构一致(当前主流设备均为64位架构) - 若使用Anaconda环境,先确认你运行代码的环境和执行pip命令的环境是同一个,避免依赖安装到其他环境导致不匹配
- 卸载现有pyzbar包,运行命令
pip uninstall -y pyzbar - 重新安装匹配架构的pyzbar包,64位Python直接运行
pip install pyzbar即可,32位Python需自行下载对应32位编译的pyzbar安装包进行安装 - 若操作后仍报错,可手动下载对应架构的zbar.dll文件,放到Anaconda安装路径下的
Scripts文件夹,或者你当前运行代码的工作目录 - 若不想调试依赖,可直接使用替代方案:调用opencv自带的二维码识别接口
cv2.QRCodeDetector(),无需额外依赖底层动态库,适配性更高
内容的提问来源于stack exchange,提问作者chronovirus
相关产品推荐
相关产品推荐

