Einrichtungsleitfaden für Python

Auf dieser Seite erfahren Sie, wie Sie Ihre Entwicklungsumgebung einrichten, um MediaPipe Tasks in Ihren Python-Anwendungen zu verwenden.

Unterstützte Plattformen und Versionen

Für die Entwicklung von Anwendungen mit MediaPipe Tasks sind die folgenden Ressourcen der Entwicklungsumgebung erforderlich:

  • Betriebssystem:
    • Desktop: Windows, Mac, Linux
    • IoT: Raspberry OS 64-Bit
  • Python: Version 3.9–3.12
  • PIP: Version 20.3 oder höher

Entwicklungsumgebung einrichten

Bevor Sie eine MediaPipe-Aufgabe in einer Python-Anwendung ausführen, installieren Sie das MediaPipe-Paket.

$ python -m pip install mediapipe

Nach der Installation des Pakets importieren Sie es in Ihr Entwicklungsprojekt.

import mediapipe as mp

Abhängigkeiten von MediaPipe Tasks

MediaPipe Tasks bietet drei vorgefertigte Bibliotheken für Bild-, Text- und Audioaufgaben. Importieren Sie je nach der von der App verwendeten MediaPipe-Aufgabe die Bild-, Text- oder Audiobibliothek in Ihr Entwicklungsprojekt.

Bildaufgaben

Das MediaPipe Tasks-Bildmodul enthält Aufgaben, die Bild- oder Videoeingaben verarbeiten. Importieren Sie die folgende Abhängigkeit in Ihr Entwicklungsprojekt, um die MediaPipe Tasks-Bildbibliothek zu importieren.

from mediapipe.tasks.python import vision

Textaufgaben

Das MediaPipe Tasks-Textmodul enthält Aufgaben, die Stringeingaben verarbeiten.Importieren Sie die folgende Abhängigkeit in Ihr Entwicklungsprojekt, um die MediaPipe Tasks-Textbibliothek zu importieren.

from mediapipe.tasks.python import text

Audioaufgaben

Das MediaPipe Tasks-Audiomodul enthält Aufgaben, die Audioeingaben verarbeiten. Importieren Sie die folgende Abhängigkeit in Ihr Entwicklungsprojekt, um die MediaPipe Tasks-Audiobibliothek zu importieren.

from mediapipe.tasks.python import audio

BaseOptions-Konfiguration

Mit BaseOptions können Sie die MediaPipe Task APIs allgemein konfigurieren.

Optionsname Beschreibung Gültige Werte
model_asset_buffer Der Inhalt der Modelldatei. Modellinhalt als Bytestring
model_asset_path Der Pfad der Modelldatei, die geöffnet und in den Arbeitsspeicher geladen werden soll. Dateipfad als String

Python Tasks-Apps mit PyInstaller verpacken

Wenn Sie eine Python Tasks-App mit PyInstaller verpacken, werden Modelldateien wie .task-Bundles nicht automatisch berücksichtigt. Wenn Ihre App BaseOptions(model_asset_path=...) verwendet, fügen Sie die Modelldatei in das PyInstaller-Bundle ein und lösen Sie den Pfad zur Laufzeit auf.

Verwenden Sie beispielsweise eine Hilfsfunktion, die nach dem sys._MEIPASS-Verzeichnis von PyInstaller sucht:

import os
import sys

def resource_path(relative_path: str) -> str:
    base_path = getattr(sys, "_MEIPASS", os.path.abspath("."))
    return os.path.join(base_path, relative_path)

Übergeben Sie dann den aufgelösten Modellpfad an BaseOptions:

from mediapipe.tasks import python
from mediapipe.tasks.python import vision

model_path = resource_path("pose_landmarker.task")
base_options = python.BaseOptions(model_asset_path=model_path)
options = vision.PoseLandmarkerOptions(base_options=base_options)
pose_landmarker = vision.PoseLandmarker.create_from_options(options)

Bündeln Sie die Modelldatei und erfassen Sie MediaPipe-Paketdateien, wenn Sie mit PyInstaller erstellen:

pyinstaller app.py \
  --add-data "pose_landmarker.task:." \
  --collect-all mediapipe \
  --hidden-import mediapipe.tasks.c

Unter macOS oder Linux ist das Trennzeichen für --add-data das Zeichen :. Unter Windows verwenden Sie das Zeichen ;. Für macOS-Desktop-Apps fügen Sie --windowed hinzu, um ein .app-Bundle zu erstellen:

Fehlerbehebung

Wenn Sie Hilfe bei technischen Fragen zu MediaPipe benötigen, besuchen Sie die Diskussionsgruppe oder Stack Overflow, um Unterstützung von der Community zu erhalten. Wenn Sie Fehler melden oder Funktionsanfragen stellen möchten, erstellen Sie ein Problem auf GitHub.

Hilfe bei der Einrichtung Ihrer Python-Entwicklungsumgebung finden Sie im Leitfaden für Python-Entwickler.