树莓派3安装opencv-contrib-python卡在编译wheel环节求助
在Raspberry Pi 3 Model B Rev 1.2上安装opencv-contrib-python的编译卡顿问题解决
问题描述
在Raspberry Pi 3 Model B Rev 1.2上安装opencv-contrib-python时,遇到以下问题:
- 使用pip安装时,卡在
Building wheels for opencv-contrib-python (pyproject.toml)环节超过24小时,随后设备冻结或自动重启,安装失败。 - 尝试从源码编译,进度卡在98%无法完成。
- 已确认设备有近7GB可用空间,排除存储不足问题。
解决方案
优先使用预编译包(最省心方案)
树莓派3的CPU性能有限,编译OpenCV耗时极长且容易触发硬件故障,直接用官方源的预编译包:
sudo apt update && sudo apt install python3-opencv
该包已包含多数contrib模块,若有特定模块缺失,再针对性处理。
若必须源码编译,优化编译配置
- 限制编译线程
树莓派3的4核CPU全负载编译会导致内存耗尽、设备冻结,改用2线程编译:
make -j2
- 关闭不必要的编译模块
配置CMake时禁用非必需功能,减少编译负载:
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=OFF \ -D INSTALL_C_EXAMPLES=OFF \ -D OPENCV_ENABLE_NONFREE=ON \ -D WITH_CUDA=OFF \ -D WITH_QT=OFF \ -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \ -D BUILD_EXAMPLES=OFF ..
- 临时增大交换空间
默认交换空间不足会导致编译时内存溢出,临时调整交换空间至2GB:
sudo dphys-swapfile swapoff sudo sed -i 's/^CONF_SWAPSIZE=.*/CONF_SWAPSIZE=2048/' /etc/dphys-swapfile sudo dphys-swapfile swapon
编译完成后记得改回默认值(如100),避免长期使用大交换空间损耗SD卡。
- 检查电源供应
编译时树莓派功耗骤升,使用非官方低功率电源会导致重启,确保使用5V/2.5A及以上的正规电源。
内容的提问来源于stack exchange,提问作者agent smith
相关产品推荐
相关产品推荐

