Przewodnik po konfiguracji Pythona

Na tej stronie dowiesz się, jak skonfigurować środowisko programistyczne do korzystania z zadań MediaPipe w aplikacjach Python.

Obsługiwane platformy i wersje

Tworzenie aplikacji za pomocą zadań MediaPipe wymaga tych zasobów środowiska programistycznego:

  • System operacyjny:
    • Komputer: Windows, Mac, Linux
    • IoT: Raspberry OS 64-bit
  • Python: wersja 3.9–3.12
  • PIP: wersja 20.3 lub nowsza

Konfigurowanie środowiska programistycznego

Zanim uruchomisz zadanie MediaPipe w aplikacji Python, zainstaluj pakiet MediaPipe.

$ python -m pip install mediapipe

Po zainstalowaniu pakietu zaimportuj go do projektu programistycznego.

import mediapipe as mp

Zależności zadań MediaPipe

Zadania MediaPipe udostępniają 3 wstępnie utworzone biblioteki do obsługi obrazów, tekstu i dźwięku. W zależności od zadania MediaPipe używanego przez aplikację zaimportuj do projektu programistycznego bibliotekę obrazów, tekstu lub dźwięku.

Zadania związane z obrazami

Moduł zadań MediaPipe związanych z obrazami zawiera zadania, które obsługują dane wejściowe w postaci obrazów lub filmów. Aby zaimportować bibliotekę zadań MediaPipe związanych z obrazami, zaimportuj do projektu programistycznego tę zależność.

from mediapipe.tasks.python import vision

Zadania związane z tekstem

Moduł zadań MediaPipe związanych z tekstem zawiera zadania, które obsługują dane wejściowe w postaci ciągów znaków.Aby zaimportować bibliotekę zadań MediaPipe związanych z tekstem, zaimportuj do projektu programistycznego tę zależność.

from mediapipe.tasks.python import text

Zadania związane z dźwiękiem

Moduł zadań MediaPipe związanych z dźwiękiem zawiera zadania, które obsługują dane wejściowe w postaci dźwięku. Aby zaimportować bibliotekę zadań MediaPipe związanych z dźwiękiem, zaimportuj do projektu programistycznego tę zależność.

from mediapipe.tasks.python import audio

Konfiguracja BaseOptions

BaseOptions umożliwiają ogólną konfigurację interfejsów API zadań MediaPipe.

Nazwa opcji Opis Akceptowane wartości
model_asset_buffer Zawartość pliku zasobu modelu. Zawartość modelu jako ciąg bajtów
model_asset_path Ścieżka zasobu modelu, który ma zostać otwarty i zmapowany w pamięci. Ścieżka pliku jako ciąg znaków

Pakowanie aplikacji zadań Python za pomocą PyInstaller

Podczas pakowania aplikacji zadań Python za pomocą PyInstaller pliki modeli, takie jak pakiety .task, nie są uwzględniane automatycznie. Jeśli aplikacja używa BaseOptions(model_asset_path=...), uwzględnij plik modelu w pakiecie PyInstaller i rozwiąż jego ścieżkę w czasie działania.

Użyj na przykład pomocnika, który sprawdza katalog sys._MEIPASS PyInstaller:

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)

Następnie przekaż rozwiązaną ścieżkę modelu do 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)

Podczas tworzenia za pomocą PyInstaller spakuj plik modelu i zbierz pliki pakietu MediaPipe:

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

W systemie macOS lub Linux separatorem --add-data jest :. W systemie Windows użyj ;. W przypadku aplikacji na komputery z systemem macOS dodaj --windowed, aby utworzyć pakiet .app:

Rozwiązywanie problemów

Jeśli potrzebujesz pomocy w kwestiach technicznych związanych z MediaPipe, odwiedź grupę dyskusyjną lub Stack Overflow, aby uzyskać pomoc od społeczności. Aby zgłosić błędy lub zaproponować funkcje, utwórz zgłoszenie na GitHub.

Jeśli potrzebujesz pomocy w skonfigurowaniu środowiska programistycznego Python, zapoznaj się z przewodnikiem dla programistów Pythona.