树莓派3B默认Python已设为3.8仍将OpenCV装到Python2,如何给Python3装OpenCV
树莓派3B Python3.8环境OpenCV安装指南
前置校验
先确认环境指向正确,避免pip匹配到错误的Python版本:
- 执行
python3 --version,确认输出为Python 3.8.x - 执行
pip3 --version,确认输出路径中包含Python 3.8标识
方案1:pip安装(优先选择,操作简单)
步骤1:安装系统依赖
sudo apt update && sudo apt upgrade -y sudo apt install -y libopenjp2-7 libtiff5 libatlas-base-dev libjasper-dev libqtgui4 libqt4-test libhdf5-dev
步骤2:安装对应版本OpenCV
树莓派3B为armv7架构,高版本OpenCV无适配预编译包,指定兼容版本安装:pip3 install opencv-python==4.5.5.62
步骤3:验证安装
执行命令:python3 -c "import cv2; print(cv2.__version__)"
输出对应版本号即为安装成功。
方案2:源码编译安装(pip安装失败时使用)
步骤1:安装编译依赖
sudo apt install -y build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev python3.8-dev python3-numpy \ libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \ libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
步骤2:拉取对应版本源码
拉取4.5.5版本的opencv和opencv_contrib源码到本地同级目录。
步骤3:编译配置
cd opencv && mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \ -D PYTHON_DEFAULT_EXECUTABLE=$(which python3.8) \ -D BUILD_opencv_python2=OFF \ -D BUILD_opencv_python3=ON \ -D INSTALL_PYTHON_EXAMPLES=OFF \ -D BUILD_EXAMPLES=OFF ..
步骤4:编译安装
树莓派3B为4核CPU,使用多线程编译加速:
make -j4 sudo make install sudo ldconfig
步骤5:验证安装
同方案1的验证命令,导入cv2并输出版本号即为成功。
异常排查
- 若安装完成后提示找不到cv2模块,可手动将编译生成的
cv2*.so文件复制到Python3.8的site-packages目录下,通常路径为~/.local/lib/python3.8/site-packages/或/usr/local/lib/python3.8/site-packages/ - 避免使用
sudo pip3执行安装,该操作会将包安装到系统全局路径,可能匹配到其他版本Python
内容的提问来源于stack exchange,提问作者Asif Mahbub
相关产品推荐
相关产品推荐

