VS Code中Jupyter Notebook出现ModuleNotFoundError:找不到mediapipe模块
VS Code中Jupyter Notebook出现ModuleNotFoundError:找不到mediapipe模块
我太懂你这种明明装了指定库却报错的郁闷了!咱们先捋清楚问题根源:你用到的cvzone.PoseModule其实内部依赖了mediapipe库,但你只安装了opencv-python和cvzone,漏掉了这个关键依赖。再加上你用的是Python3.7.8的虚拟环境,新版本mediapipe已经不支持这个Python版本了,所以得针对性解决。
先看你遇到的具体代码和报错:
你的代码:
import os import cv2 import cvzone from cvzone.PoseModule import PoseDetector # error
报错信息:
Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_28992\1329371883.py in <module> 2 import cv2 3 import cvzone ----> 4 from cvzone.PoseModule import PoseDetector c:\clothchangr\venv\lib\site-packages\cvzone\PoseModule.py in <module> 7 8 import cv2 ----> 9 import mediapipe as mp 10 11 ModuleNotFoundError: No module named 'mediapipe'
接下来给你一步步解决:
第一步:确保操作在正确的虚拟环境里
打开VS Code终端,先激活你的venv虚拟环境(Windows系统):venv\Scripts\activate激活成功后终端开头会显示
(venv)标识,这时候安装的包才会进到这个虚拟环境里,不会装错地方。第二步:安装兼容Python3.7.8的mediapipe版本
直接装最新版会不兼容,所以指定一个支持Python3.7的版本:pip install mediapipe==0.9.0.1第三步:重启Jupyter内核
在VS Code的Notebook界面,点击右上角的内核按钮选择「重启内核」,之后重新运行代码,应该就能正常导入PoseDetector了。
另外小提醒:有时候VS Code的Jupyter会默认用全局Python内核,你可以在右上角的内核列表里确认一下,是不是选了venv对应的Python3.7.8环境,避免白忙活一场~
备注:内容来源于stack exchange,提问作者Aman Gupta




