MediaPipe ARM aarch64 源码构建全解在 Jetson 与树莓派上打出 Python wheel【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe在 Jetson 上执行pip install mediapipe终端只回一句ERROR: No matching distribution found for mediapipe。原因很直接MediaPipe 的 PyPI 官方只发布 x86_64 Linux、x86_64 macOS 10.15 和 amd64 Windows 三种 64 位 wheel没有 aarch64。ARM 设备想用上 MediaPipe 的 Face Mesh、Hands 这些 solutions只能从源码构建 Python 包。下面按可落地的顺序走一遍定位问题、装工具链、拉源码、打 wheel、验证排错。先把构建失败拆成 3 个可排查的原因ARM 上从零构建 MediaPipe卡点基本集中在下表三类。先对照定位再动手能省掉大量盲目重试现象根因对策pip install mediapipe报No matching distribution foundPyPI 无 aarch64 wheel官方支持仅限 x86_64 / amd64走本文源码构建流程或找社区维护的 aarch64 预编译方案构建脚本提示could not find bazel executable或报 Bazel 版本过旧未装 Bazel或版本低于setup.py要求的 3.4 下限安装 Bazelisk仓库.bazelversion固定为 7.7.0Bazelisk 会自动按它选版本链接阶段报undefined reference to cv::String::deallocate()等 OpenCV 符号WORKSPACE与 third_party/opencv_linux.BUILD 没有指向你系统的 OpenCV 头文件/库用 apt 装官方libopencv-*-dev包或运行仓库自带的setup_opencv.sh自动改配置Bazel 拉取org_tensorflow等外部仓库超时、中断依赖托管在 Google 站点网络不通配置代理或bazel clean --expunge后稍后重试后两条的详细说明见 docs/getting_started/troubleshooting.md。装好 Bazel 与 OpenCVDebian/Ubuntu构建系统用 Bazel推荐装 Bazelisk安装文档中的方式。仓库根目录的.bazelversion写死7.7.0装好后bazel --version应回显 7.7.0。OpenCV 是 MediaPipe 的硬依赖。最简单的方式是用包管理器装预编译库FFmpeg 会随libopencv-video-dev一起进来sudo apt-get install -y \ libopencv-core-dev \ libopencv-highgui-dev \ libopencv-calib3d-dev \ libopencv-features2d-dev \ libopencv-imgproc-dev \ libopencv-video-dev注意Debian 11 / Ubuntu 21.04 上是 OpenCV 4.5还要补装libopencv-contrib-dev。若你的系统 OpenCV 版本不在官方支持范围内第二条路是跑仓库根目录的setup_opencv.sh——它从源码编译 OpenCV 3.4 并自动改写WORKSPACE和 third_party/opencv_linux.BUILD无需手动编辑# 在 mediapipe 根目录执行 sh ./setup_opencv.shmacOS 用户则用brew install opencv3并brew uninstall --ignore-dependencies glog规避 glog 依赖的已知问题。安装 Python 构建依赖在目标系统上补齐编译链与 protobuf 编译器安装文档 同段# Debian / Ubuntu sudo apt install python3-dev sudo apt install python3-venv sudo apt install -y protobuf-compiler # 若需要让 setup.py 从源码编译 OpenCV sudo apt install cmake# macOS brew install protobuf # 若需要让 setup.py 从源码编译 OpenCV brew install cmake建议用 Python 3.9–3.12setup.py声明支持的版本区间并全程使用虚拟环境避免污染系统 Python。拉取 MediaPipe 源码并装 Python 依赖cd $HOME git clone --depth 1 https://gitcode.com/GitHub_Trending/med/mediapipe.git cd mediapipe python3 -m venv mp_env source mp_env/bin/activate pip3 install -r requirements.txtrequirements.txt里的核心项是 numpy、opencv-contrib-python、matplotlib、absl-py、sounddevice、flatbuffers装完后import numpy不应再报错。 从源码打出 wheel 包以下命令都在mp_env虚拟环境、mediapipe 仓库根目录执行# 方式一直接构建并安装--link-opencv 表示使用系统已安装的 OpenCV python3 setup.py install --link-opencv# 方式二只构建 wheel产物落在 dist/ 目录 python3 setup.py bdist_wheel # 退出仓库目录后安装 cd ~ pip install /path/to/mediapipe/dist/mediapipe-*.whl两个参数细节依据 setup.py 源码不带--link-opencv时构建会追加--defineOPENCVsource让 Bazel 从源码编译 OpenCV 静态库打进包里构建时间显著变长带了--link-opencv则直接链接系统 OpenCV前提是上一步的 OpenCV 装对了。构建默认关闭 GPU 编译需要 GPU 时设环境变量MEDIAPIPE_DISABLE_GPU0再执行。一行命令验证导入 报错速查装完先做最小验证Python 文档 的官方示例import mediapipe as mp mp_face_mesh mp.solutions.face_mesh print(MediaPipe successfully imported!)没有异常即代表 aarch64 的 C 扩展libmediapipe.so已正确加载。之后可以按文档逐一跑 Face Detection、Face Mesh、Hands、Pose 等 solution 做完整性验证输入图任意本地图片即可例如仓库自带测试图 mediapipe/calculators/image/testdata/dino.jpg⚠️ 常见报错速查报错原因处理ERROR: An error occurred during the fetch of repository local_execution_config_pythonBazel 找不到本地 Python 二进制构建命令追加--action_env PYTHON_BIN_PATH$(which python3)ImportError: No module named numpy构建环境的 Python 缺包确认在同一个 venv 里pip install依赖could not find bazel executable/ 版本过旧Bazel 缺失或低于 setup.py 最低要求装 Bazelisk确认bazel --version为 7.7.0Error downloading ... Tried to reconnect ... server didnt support it外部依赖仓库不可达配代理后重试或bazel clean --expunge重来error: undefined reference to cv::String::deallocate()等OpenCV 配置未指向本机库重做装好 Bazel 与 OpenCV一节核对WORKSPACE与opencv_linux.BUILDNo matching distribution found for mediapipe系统不在官方 wheel 支持列表正是本文场景按源码构建流程执行延伸与资料不想自己编译可以关注社区维护的mediapipe-python-aarch64项目官方 docs/getting_started/python.md 在 aarch64 一节中按名推荐它提供针对 Nvidia Jetson、Raspberry Pi 的构建脚本与预编译包。相关仓库内文档Python 打包说明、总安装指南、排错手册、Python 框架文档。关键配置入口WORKSPACE、third_party/opencv_linux.BUILD、setup_opencv.sh。ARM 上的 MediaPipe 没有一键 pip但只要 OpenCV 指对、Bazel 版本对齐源码打 wheel 是确定性流程——卡住时先对表再动手。【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考