You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派系统下Python3.5.3安装OpenCV及兼容face_recognition咨询

解决树莓派上OpenCV与face_recognition跨Python版本兼容的方案

我之前在树莓派折腾CV项目时也碰到过一模一样的版本兼容坑,给你几个经过实际验证的解决方案,应该能帮你搞定两个库的共存问题:

方案一:针对Python2.7和Python3.5分别适配库版本

对于Python2.7环境

face_recognition官方已经停止对Python2的支持,依赖的dlib库在Python2.7下编译会遇到大量兼容性问题,不建议强行适配。如果你的Python2项目必须做人脸识别,可以用opencv-contrib-python的内置人脸模块替代:

# 激活Python2环境后执行
pip install opencv-contrib-python==3.4.2.16

这个版本的OpenCV-contrib自带人脸检测、识别模块,能满足基础需求,且和你现有能正常工作的OpenCV环境兼容。

对于Python3.5环境

Python3.5无法直接通过pip安装OpenCV预编译包,建议通过源码编译适配的OpenCV版本(推荐3.4.x系列,对Python3.5兼容性最好):

  1. 先安装编译依赖:
sudo apt-get update && sudo apt-get install build-essential cmake pkg-config libjpeg-dev libtiff5-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libfontconfig1-dev libcairo2-dev libgdk-pixbuf2.0-dev libpango1.0-dev libgtk2.0-dev libgtk-3-dev libatlas-base-dev gfortran python3-dev python3-numpy
  1. 下载对应版本的OpenCV及contrib模块:
git clone --branch 3.4.16 https://github.com/opencv/opencv.git
git clone --branch 3.4.16 https://github.com/opencv/opencv_contrib.git
  1. 编译安装:
cd opencv && mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules -D PYTHON_EXECUTABLE=/usr/bin/python3.5 -D BUILD_EXAMPLES=ON ..
# 树莓派3用-j2,树莓派4用-j4,根据CPU核心数调整
make -j4
sudo make install
sudo ldconfig

编译完成后,Python3.5就能正常调用OpenCV,同时保留已能正常运行的face_recognition。

方案二:升级Python3版本到3.7+(更推荐)

Python3.5过于老旧,很多现代库的预编译包都不再支持它。升级到Python3.8或3.9(树莓派稳定支持的版本)后,两个库都能通过pip直接安装,省去源码编译的麻烦:

  1. 安装升级依赖:
sudo apt-get update && sudo apt-get install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
  1. 下载并编译Python3.8源码:
wget https://www.python.org/ftp/python/3.8.16/Python-3.8.16.tgz
tar -xf Python-3.8.16.tgz
cd Python-3.8.16
./configure --enable-optimizations
make -j4
# 用altinstall避免覆盖系统默认Python3
sudo make altinstall
  1. 直接安装两个库:
pip3.8 install opencv-python face_recognition

升级后的环境不仅能完美兼容两个库,后续使用其他Python库也会减少很多兼容性问题。

方案三:用虚拟环境隔离两个Python环境

如果需要同时保留Python2.7和Python3的工作环境,避免库版本冲突,可以用虚拟环境做隔离:

  • Python2.7环境:
sudo apt-get install python-virtualenv
virtualenv -p /usr/bin/python2.7 py2_cv_env
source py2_cv_env/bin/activate
# 在虚拟环境中安装适配的OpenCV
pip install opencv-python==3.4.2.16
  • Python3.5(或升级后的3.8)环境:
sudo apt-get install python3-venv
python3 -m venv py3_cv_env
source py3_cv_env/bin/activate
# 安装OpenCV和face_recognition
pip install opencv-python face_recognition

使用时激活对应的虚拟环境即可,两个环境完全独立,不会互相干扰。

内容的提问来源于stack exchange,提问作者Salil Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:05:12