无法导入mediapipe:TypeError: 'numpy._DTypeMeta'对象不可下标
解决 Mediapipe 导入时的
TypeError: 'numpy._DTypeMeta' object is not subscriptable 错误 核心原因
该错误本质是 Mediapipe 版本与 NumPy 版本的兼容性冲突——NumPy 1.20+ 对 dtype 元类的底层修改,导致部分 Mediapipe 版本的旧代码调用逻辑失效。
可行解决步骤
1. 锁定经过验证的兼容版本组合
针对你的 Python 3.10.6 环境,推荐以下稳定兼容的版本配对:
- Mediapipe 0.9.0.1 + NumPy 1.21.6
- Mediapipe 0.10.0 + NumPy 1.23.5
执行命令卸载现有包后重新安装:
pip uninstall -y mediapipe numpy pip install mediapipe==0.9.0.1 numpy==1.21.6
2. 确保虚拟环境隔离
确认操作在目标虚拟环境中进行,避免全局环境与虚拟环境的包版本混淆引发冲突。
3. 清理 pip 缓存残留
若之前多次安装不同版本存在缓存污染,清理后重新安装:
pip cache purge pip install mediapipe==0.9.0.1 numpy==1.21.6
4. 验证修复效果
安装完成后在 Python 交互环境中测试:
import mediapipe as mp import numpy as np print(f"Mediapipe 版本: {mp.__version__}") print(f"NumPy 版本: {np.__version__}")
无报错则说明兼容问题已解决。
内容的提问来源于stack exchange,提问作者Climbs_lika_Spyder
相关产品推荐
相关产品推荐

