MediaPipe Python 安装手把手:3 分钟装好环境,跑通实时人脸检测

📅 2026/8/24 11:11:15
MediaPipe Python 安装手把手:3 分钟装好环境,跑通实时人脸检测
MediaPipe Python 安装手把手3 分钟装好环境跑通实时人脸检测【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipeMediaPipe 是面向实时媒体处理人脸检测、手部跟踪、物体检测的跨平台机器学习框架。这份 MediaPipe Python 安装指南会带你走完从选对路线、敲下安装命令到修掉高频报错的全过程让你能独立把环境跑起来并且看懂中途蹦出的任何报错。先想象一下终点终端里打印出Face landmarks detected: True说明你的 MediaPipe 已经装好人脸网格正在工作。下面我们就从这一行输出倒着推看看前面到底要敲哪些命令。上面这种人 手机 键盘的实时框选就是 MediaPipe 的强项。而这一切的起点只是下面这几步。装之前先花 10 秒判断走 PyPI 还是源码编译MediaPipe Python 安装其实有两条路选错了要多花半小时你的诉求推荐路线大致耗时快速体验人脸/手势/姿态检测或接入生产环境PyPI 快速安装1–2 分钟修改源码、加自定义 calculator、贡献代码源码编译安装30–60 分钟 拿不准就走 PyPI。官方文档的原话是只有当你有本地改动、需要自己构建时才从源码编译其余情况强烈建议直接pip install mediapipe更方便也更快。用 pip 快速装好 MediaPipe Python 的三步第一步确认系统和 Python 版本PyPI 上的官方 wheel 只覆盖这些组合先对一下号64 位 Python 3.9 – 3.12操作系统x86_64 Linux、x86_64 macOS 10.15、amd64 Windows⚠️ 如果pip install时报No matching distribution found for mediapipe九成是 32 位 Python或者 Python 版本过新/过旧。先换 64 位的 3.9–3.12 再试。第二步创建虚拟环境隔离依赖python3 -m venv mp_env source mp_env/bin/activate # Windows 用 mp_env\Scripts\activate这一步是为了让 MediaPipe 带的 numpy、OpenCV 这些依赖和你系统里的 Python 互不干扰出问题也好随时删掉重来。第三步pip install 之后如何验证pip install mediapipe装完立刻进解释器验证import mediapipe as mp print(mp.__version__)能打印出版本号、不抛ImportError说明这条路线已经走通后面装完源码版也用同样的方式确认。从源码编译 MediaPipe依赖、克隆与打包这条路线给想改源码的人。你会用到三件套Bazel 3.4.0 及以上、OpenCV、Protobuf 编译器。装齐 Bazel、OpenCV 和 ProtobufDebian/Ubuntu 一条命令搞定 Python 侧依赖sudo apt install python3-dev python3-venv protobuf-compiler cmakeBazel 建议按官方文档用 Bazelisk 安装OpenCV 推荐用系统包管理器装预编译的libopencv-*-devmacOS 则用 brew 装protobuf和cmake。如果 OpenCV 需要自己从源码构建才需要 cmake 参与。克隆仓库并安装 Python 依赖git clone --depth 1 https://gitcode.com/GitHub_Trending/med/mediapipe cd mediapipe python3 -m venv mp_env source mp_env/bin/activate pip install -r requirements.txt--depth 1只拉最新一次代码克隆快很多requirements.txt会把 numpy、opencv-contrib-python、flatbuffers、matplotlib 等 Python 依赖一次装齐省得后面编译到一半才发现缺包。setup.py 编译安装或打 wheel 包# 方式一直接装进当前虚拟环境 python3 setup.py install --link-opencv # 方式二先打 wheel之后想用哪个环境装哪个 python3 setup.py bdist_wheel pip install dist/mediapipe-*.whl--link-opencv表示直接链接你系统里已装好的 OpenCV不加的话Bazel 会自己从源码编译一份 OpenCV时间还要再翻倍。首次编译整体大约 30–60 分钟可以安心去倒杯咖啡。MediaPipe 编译报错三步修Bazel 找不到 Python加 PYTHON_BIN_PATH你大概率会卡在这一步报错长这样ERROR: An error occurred during the fetch of repository local_execution_config_python别慌通常是 Bazel 没看到你在虚拟环境里的那个 python。先用which python3确认解释器路径再把路径显式喂给 Bazelbazel build --action_env PYTHON_BIN_PATH$(which python3) ...Windows 上同理把路径写成C://path//to//python.exe的形式加到--action_env里。OpenCV 链接报 undefined reference报错关键词error: undefined reference to cv::String::deallocate()这说明构建配置指向的 OpenCV 和你实际装的版本/路径对不上。典型场景你装的是 OpenCV 4头文件在include/opencv4/下而默认配置还在找旧路径。解法是改两个文件WORKSPACE里linux_opencv的path指向真实安装位置再把third_party/opencv_linux.BUILD的hdrs、includes改成include/opencv4/...对应的写法仓库安装文档里有逐版本示例。Windows DLL load failed补 VC 运行时报错关键词ImportError: DLL load failed: The specified module could not be found这是系统缺 Visual C 运行时。两个选择装官方 VC 运行时安装包vc_redist.x64.exe或者图省事直接python -m pip install msvc-runtime⚠️msvc-runtime这个包并非微软官方维护装完如果还有异常还是回到运行时安装包那条路。用 face_mesh 人脸网格检测验证安装成功装完之后跑这段最小示例两条路线都适用import mediapipe as mp import cv2 mp_face_mesh mp.solutions.face_mesh with mp_face_mesh.FaceMesh() as face_mesh: image cv2.imread(test.jpg) results face_mesh.process(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) print(Face landmarks detected:, results.multi_face_landmarks is not None)手边没有测试图仓库里自带一张人像样本路径是mediapipe/objc/testdata/sergey.png直接拿来当test.jpg用。看到True打印出来恭喜你的环境完全可用。下面这张就是真实的人脸检测结果示意白色框和关键点都落在脸上正是 face_mesh 类 solution 的输出形态。装完之后三条进阶学习路径环境跑通只是起点接下来按兴趣挑想用好现成能力face_mesh、hands、pose 等 solution 的参数和用法从安装文档 docs/getting_started/install.md 和 Python 入门 docs/getting_started/python.md 继续往下读。想看完整可运行的桌面、移动端、Web 示例逛 mediapipe/examples/。想自己写 MediaPipe 图、接自定义流读 Python 框架文档 docs/getting_started/python_framework.md。以后再遇到编译报错先去 docs/getting_started/troubleshooting.md 里搜关键词上面那三个坑都在里面有详细对照源码级细节可以参考 setup.py 和 requirements.txt。【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考