ことの発端
後輩から、「こんなエラーが出て詰みましたァ!」と元気よく泣きつかれたので調査した。
AttributeError: module 'mediapipe.python.solutions' has no attribute 'drawing_styles'
使用した環境
バージョン | |
---|---|
Python | 3.6 |
MediaPipe | 0.8.3 |
あとPyCharm。 |
原因
MediaPipeをインストールするときに、pip install mediapipe
としたこと。
なんで?
なんか知らんが、件のdrawing_styles.py
が存在しない。pip installでのパッケージには含まれてないらしい。
大本のgithubを見ると存在してるのにね。
ついでに、以下のファイルたちも含まれていない。なんで?
- face_mesh_connections.py
- hands_connections.py
解決方法
以下のファイルたちを、
- drawing_styles.py
- face_mesh_connections.py
- hands_connections.py
公式からダウンロードして以下の場所に保存する。
venv/Lib/site-packages/mediapipe/python/solution
その後、
venv/Lib/site-packages/mediapipe/python/solution/__init_.py
に
import mediapipe.python.solutions.drawing_styles
を追記する。
その後、
import mediapipe as mp
ds = mp.solutions.drawing_styles
を実行してエラーがでなければOK。
余談
この1件でMediaPipeなるものを知ったが、これ凄いね。
あんな高速に手や顔の認識ができるなんて。
コーディングに自信のある人ならLeapMotionの代わりに使えたりするんじゃない?
てかUnityとかと組み合わせられないのかね。VR系でも使いみちが多そうだけど。
気になったから調べたけど普通にUnity対応してるわこれ。
とんでもねえな。