פיתוח חבילת MediaPipe Python Wheel

בדף הזה מוסבר איך ליצור את חבילת MediaPipe Wheel. אפשר להשתמש בחבילת ה-wheel כדי להתקין את MediaPipe במכונה מקומית של UNIX או ב-Raspberry Pi.

דרישות מוקדמות

כדי ליצור את חבילת ה-Wheel של Python, נדרשים למערכת הדברים הבאים:

  • Docker עם תמיכה ב-Buildkit (גרסה 18 ואילך)

צינור עיבוד הנתונים ל-build של Python נבדק עם גרסאות Python‏ 3.9, ‏ 3.10, ‏ 3.11 ו-3.12.

הפעלת BUILD באמצעות Docker

אפשר להשתמש באחד מקובצי האימג' של Docker שפרסמנו במאגר של MediaPipe. אנחנו מציעים שלוש תמונות שונות:

  • manylinux_2_28_x86_64 מכיל את צינור עיבוד הנתונים ל-build ליצירת חבילות Manylinux wheels, שניתן להריץ בכל מארח Unix עם x86_64.

  • mp_manylinux_aarch64rp4 מכיל את צינור עיבוד הנתונים ל-build כדי ליצור Raspberry Wheels עם תמיכה ב-aarch64.

  • Dockerfile מכיל את צינור עיבוד הנתונים ל-build ליצירת מסגרת ה-C++‎.

קובץ אימג' של Manylinux עבור x&6_64

מעתיקים את מאגר MediaPipe ומשתמשים בפקודות הבאות כדי ליצור את קובץ האימג' של Docker לרוב הפלטפורמות של Unix. אפשר לשנות את הפקודות ל-build לכל גרסה של Python שמותקנת מראש באימג' (כרגע 3.9. 3.10,‏ 3.11 ו-3.12). בגרסאות Python אחרות, אפשר לשנות את Dockerfile בהתאם.

יוצרים את קובץ האימג' של Docker:

$ DOCKER_BUILDKIT=1 docker build -f Dockerfile.manylinux_2_28_x86_64 -t mp_manylinux . --build-arg "PYTHON_BIN=/opt/python/cp312-cp312/bin/python3.12"

יוצרים את קונטיינר Docker:

$ docker create -ti --name mp_pip_package_container mp_manylinux:latest

מעתיקים את קובצי הקונטיינר של Docker למחשב המקומי:

$ docker cp mp_pip_package_container:/wheelhouse/. wheelhouse/

מוחקים את קונטיינר Docker:

$ docker rm -f mp_pip_package_container

קובץ אימג' של Raspberry Pi ב-ARM

מעתיקים את מאגר MediaPipe ומשתמשים בפקודות הבאות כדי ליצור את קובץ האימג' של Docker לפלטפורמות Raspberry Pi. קובץ Dockerfile מתקין את Python 3.12 מהמקור ויוצר גלגל (wheel) רק לגרסה הזו. בגרסאות Python אחרות, אפשר לשנות את Dockerfile בהתאם.

יוצרים את קובץ האימג' של Docker:

$ docker build -f Dockerfile.manylinux2014_aarch64rp4 -t mp_manylinux_aarch64rp4 .

יוצרים את קונטיינר Docker:

$ docker create -ti --name mp_pip_package_container mp_manylinux_aarch64rp4:latest

מעתיקים את קובצי הקונטיינר של Docker למחשב המקומי:

$ docker cp mp_pip_package_container:/wheelhouse/. wheelhouse/

מוחקים את קונטיינר Docker:

$ docker rm -f mp_pip_package_container