You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行DeepFace面部分析代码时遇ImportError错误的原因与解决方法

DeepFace面部分析代码运行报错问题及修复

问题说明

运行以下用于面部分析的DeepFace代码:

from deepface import DeepFace

# 替换为你的图片路径
img_path = "happy_face_woman.png"

# 分析图片中的人脸
face_analysis = DeepFace.analyze(img_path=img_path)

# 打印分析结果
print(face_analysis)

执行时触发如下导入错误:

Traceback (most recent call last):
  File "c:\Users\Nicholas Starbuck\Desktop\Computer assistant\bot\Gender detection\emotions\main.py", line 1, in <module>
    from deepface import DeepFace
  File "C:\Users\Nicholas Starbuck\AppData\Local\Programs\Python\Python311\Lib\site-packages\deepface\DeepFace.py", line 14, in <module>   
    import tensorflow as tf
  File "C:\Users\Nicholas Starbuck\AppData\Local\Programs\Python\Python311\Lib\site-packages\tensorflow\__init__.py", line 38, in <module> 
    from tensorflow.python.tools import module_util as _module_util
  File "C:\Users\Nicholas Starbuck\AppData\Local\Programs\Python\Python311\Lib\site-packages\tensorflow\python\__init__.py", line 37, in <module>
    from tensorflow.python.eager import context
  File "C:\Users\Nicholas Starbuck\AppData\Local\Programs\Python\Python311\Lib\site-packages\tensorflow\python\eager\context.py", line 36, in <module>
    from tensorflow.python.eager import execute
  File "C:\Users\Nicholas Starbuck\AppData\Local\Programs\Python\Python311\Lib\site-packages\tensorflow\python\eager\execute.py", line 23, in <module>
    from tensorflow.python.framework import tensor_shape
  File "C:\Users\Nicholas Starbuck\AppData\Local\Programs\Python\Python311\Lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 26, in <module>
    from tensorflow.python.saved_model import nested_structure_coder
  File "C:\Users\Nicholas Starbuck\AppData\Local\Programs\Python\Python311\Lib\site-packages\tensorflow\python\saved_model\nested_structure_coder.py", line 38, in <module>
    from tensorflow.python.util import nest
  File "C:\Users\Nicholas Starbuck\AppData\Local\Programs\Python\Python311\Lib\site-packages\tensorflow\python\util\nest.py", line 86, in <module>
    import wrapt as _wrapt
  File "C:\Users\Nicholas Starbuck\AppData\Local\Programs\Python\Python311\Lib\site-packages\wrapt\__init__.py", line 10, in <module>      
    from .decorators import (adapter_factory, AdapterFactory, decorator,
  File "C:\Users\Nicholas Starbuck\AppData\Local\Programs\Python\Python311\Lib\site-packages\wrapt\decorators.py", line 34, in <module>    
    from inspect import ismethod, isclass, formatargspec
ImportError: cannot import name 'formatargspec' from 'inspect' (C:\Users\Nicholas Starbuck\AppData\Local\Programs\Python\Python311\Lib\inspect.py)

问题根源

  • Python 3.11 移除了inspect.formatargspec方法,但当前安装的wrapt库(TensorFlow的依赖库)版本过旧,仍在调用这个已被移除的方法,导致导入失败。
  • 本质是TensorFlow版本与Python 3.11不兼容,间接引入了不匹配的旧版依赖。

修复方法

方法1:升级wrapt到兼容版本

直接更新wrapt到支持Python 3.11的版本,执行命令:

pip install --upgrade wrapt

方法2:调整Python或TensorFlow版本

  • 若升级wrapt无效,可将Python降级到3.10版本(TensorFlow对Python 3.10的兼容性更完善)。
  • 或者升级TensorFlow到适配Python 3.11的最新稳定版:
pip install --upgrade tensorflow

方法3:重新安装DeepFace及所有依赖

先卸载现有相关包,再重新安装最新版DeepFace,确保所有依赖自动适配当前Python环境:

pip uninstall deepface tensorflow wrapt -y
pip install deepface

内容的提问来源于stack exchange,提问作者Nick White

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 12:03:15