如何卸载指定OpenCV版本?解决cv2.imshow报错及版本冲突
解决OpenCV
cv2.imshow()报错及版本优先级问题 问题根源
你遇到的报错是因为opencv-python-headless(无GUI版本)不支持cv2.imshow()这类图形界面功能,且该4.9.0版本的安装路径(/usr/local/lib/python3.10/dist-packages)优先级高于系统通过apt安装的带GUI的OpenCV 4.5d,导致Python优先加载了无GUI版本。
解决方案1:卸载OpenCV 4.9.0 headless版本
该版本大概率是通过pip安装的,直接用pip卸载最彻底:
- 执行命令:
pip3 uninstall opencv-python-headless - 如果pip卸载失败,可手动删除相关文件(注意备份):
sudo rm -rf /usr/local/lib/python3.10/dist-packages/opencv_python_headless-4.9.0.80.dist-info sudo rm -rf /usr/local/lib/python3.10/dist-packages/opencv_python_headless.libs sudo rm -rf /usr/local/lib/python3.10/dist-packages/cv2
解决方案2:强制Python优先加载系统安装的OpenCV 4.5d
若不想卸载headless版本,可在代码开头调整Python的模块搜索路径,让系统路径优先:
import sys # 系统apt安装的OpenCV通常存放在此路径 sys.path.insert(0, '/usr/lib/python3/dist-packages') import cv2 # 验证版本是否为4.5d print(cv2.__version__)
验证步骤
完成操作后,运行以下代码确认版本并测试imshow:
import cv2 print(cv2.__version__) # 测试imshow img = cv2.imread('test.jpg') # 替换为你的测试图片路径 cv2.imshow('Image', img) cv2.waitKey(0) cv2.destroyAllWindows()
内容的提问来源于stack exchange,提问作者Stephen
相关产品推荐
相关产品推荐

