树莓派4升级OpenCV后无法运行cv2程序,求解决方案
树莓派4升级OpenCV后import cv2报错解决方案
问题背景
- 设备:树莓派4
- 原配置:安装OpenVINO后,OpenCV版本为4.2.0-openvino
- 操作:因无法使用dnn功能升级OpenCV
- 报错现象:执行代码时
import cv2触发如下错误:
Traceback (most recent call last): File "/home/pi/Desktop/test3/FPS.py", line 1, in <module> import cv2 File "/home/pi/.local/lib/python3.7/site-packages/cv2/__init__.py", line 181, in <module> bootstrap() File "/home/pi/.local/lib/python3.7/site-packages/cv2/__init__.py", line 111, in bootstrap load_first_config(['config.py'], True) File "/home/pi/.local/lib/python3.7/site-packages/cv2/__init__.py", line 106, in load_first_config exec_file_wrapper(fpath, g_vars, l_vars) File "/home/pi/.local/lib/python3.7/site-packages/cv2/load_config_py3.py", line 8, in exec_file_wrapper code = compile(f.read(), os.path.basename(fpath), 'exec') ValueError: source code string cannot contain null bytes
解决方案
1. 彻底清理现有OpenCV残留
- 卸载所有pip安装的OpenCV相关包:
pip3 uninstall -y opencv-python opencv-contrib-python opencv-python-openvino - 卸载系统级安装的OpenCV(如果存在):
sudo apt remove -y libopencv* python3-opencv - 删除残留的cv2目录:
rm -rf /home/pi/.local/lib/python3.7/site-packages/cv2/
2. 重新安装兼容版本的OpenCV
选择树莓派4兼容性较好且支持dnn的版本安装:
pip3 install opencv-python==4.5.5.62 opencv-contrib-python==4.5.5.62
若需继续结合OpenVINO使用,安装匹配版本的OpenVINO开发包:
pip3 install openvino-dev==2022.3.0
3. 验证安装有效性
执行以下命令确认OpenCV可正常导入:
python3 -c "import cv2; print(cv2.__version__)"
若能正常输出版本号,说明安装成功。
4. 额外排查(若上述步骤无效)
- 确认当前使用的Python版本与报错路径一致:
which python3 - 清理pip缓存后重新安装:
pip3 cache purge pip3 install opencv-python==4.5.5.62 opencv-contrib-python==4.5.5.62
内容的提问来源于stack exchange,提问作者Mr.wang
相关产品推荐
相关产品推荐

