如何在树莓派4的Python3.7环境下安装OpenCV并解决依赖报错
树莓派切换Python3.7后OpenCV依赖缺失解决方案
方案1:手动安装libilmbase12依赖
该包属于Debian 10(Buster)版本源包,当前新系统默认源已下架,可手动下载安装:
- 下载对应armhf架构安装包:
wget http://ftp.debian.org/debian/pool/main/i/ilmbase/libilmbase12_2.2.1-2+deb10u1_armhf.deb - 执行本地安装:
sudo dpkg -i libilmbase12_2.2.1-2+deb10u1_armhf.deb - 若出现依赖报错,执行修复命令:
sudo apt install -f - 安装完成后重新导入cv2验证问题是否解决。
方案2:基于当前系统源编译适配Python3.7的OpenCV
- 先卸载已安装的pip版本OpenCV:
pip3 uninstall opencv-python opencv-contrib-python -y - 安装系统提供的OpenCV基础依赖:
sudo apt install libopencv-dev python3-opencv -y - 拉取对应版本OpenCV源码后进入源码目录,执行cmake配置时指定Python3.7路径:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON3_EXECUTABLE=$(which python3.7) -D PYTHON_DEFAULT_EXECUTABLE=$(which python3.7) .. - 执行编译安装:
make -j4 && sudo make install - 验证安装结果:
python3 -c "import cv2; print(cv2.__version__)"
额外提示
- 当前你通过.bashrc配置alias的方式仅对当前用户交互式终端生效,如需全局生效可创建软链接:
sudo ln -sf 你的Python3.7实际安装路径 /usr/bin/python3,操作前请确认路径避免覆盖系统文件。 - 若后续出现其他.so文件缺失,可通过apt-file工具定位对应依赖包:先执行
sudo apt install apt-file && sudo apt-file update安装工具,再执行apt-file search 缺失的so文件名查找对应包安装即可。
内容的提问来源于stack exchange,提问作者user182085
相关产品推荐
相关产品推荐

