You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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

火山引擎 最新活动