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

遵循MediaPipe Hand Landmarker指南时遇Runtime Error:无法初始化runfiles

解决MediaPipe HandLandmarker RuntimeError: 无法初始化runfiles的问题

问题详情

运行MediaPipe手部关键点检测代码时触发RuntimeError,报错回溯如下:

Traceback (most recent call last):
  File "C:\Users\Tom\PycharmProjects\MediaPipe\mediapipe_static.py", line 12, in <module>
    with HandLandmarker.create_from_options(options) as landmarker:
  File "C:\Users\Tom\PycharmProjects\MediaPipe\venv\lib\site-packages\mediapipe\tasks\python\vision\hand_landmarker.py", line 271, in create_from_options
    return cls(
  File "C:\Users\Tom\PycharmProjects\MediaPipe\venv\lib\site-packages\mediapipe\tasks\python\vision\core\base_vision_task_api.py", line 66, in __init__
    self._runner = _TaskRunner.create(graph_config, packet_callback)
RuntimeError: Unable to initialize runfiles: ERROR: external/bazel_tools/tools/cpp/runfiles/runfiles.cc(120): cannot find runfiles (argv0="")

运行环境:

  • Python 3.10.8
  • pip 23.0.1
  • MediaPipe 0.9.2.1

运行代码片段:

import mediapipe as mp

BaseOptions = mp.tasks.BaseOptions
HandLandmarker = mp.tasks.vision.HandLandmarker
HandLandmarkerOptions = mp.tasks.vision.HandLandmarkerOptions
VisionRunningMode = mp.tasks.vision.RunningMode

# Create a hand landmarker instance with the image mode:
options = HandLandmarkerOptions(
    base_options=BaseOptions(model_asset_path='[path to hand_landmark.task]'),
    running_mode=VisionRunningMode.IMAGE)
with HandLandmarker.create_from_options(options) as landmarker:
    # Load the input image from an image file.
...

解决方案

1. 使用模型文件的绝对路径

将model_asset_path替换为本地hand_landmarker.task文件的绝对路径,路径分隔符用/或转义的\\,示例:

base_options=BaseOptions(model_asset_path='C:/Users/Tom/PycharmProjects/MediaPipe/hand_landmarker.task')

2. 升级MediaPipe至最新版本

0.9.2.1版本在Windows环境下存在runfiles兼容问题,执行以下命令升级:

pip install --upgrade mediapipe

3. 以完整脚本形式运行代码

避免在IDE的交互式终端或代码片段模式下执行,直接右键运行整个脚本文件(如PyCharm中右键点击mediapipe_static.py选择运行)。

4. 手动设置MEDIAPIPE_RUNFILES环境变量

找到虚拟环境中MediaPipe的安装目录(示例路径:C:\Users\Tom\PycharmProjects\MediaPipe\venv\Lib\site-packages\mediapipe),在代码开头添加:

import os
os.environ['MEDIAPIPE_RUNFILES'] = 'C:/Users/Tom/PycharmProjects/MediaPipe/venv/Lib/site-packages/mediapipe'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 04:32:49