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

Python调用ezgmail初始化Gmail API出现UnboundLocalError如何解决

错误根因

该报错是oauth2client库解析损坏/格式不兼容的token凭证文件时,未成功读取到类模块字段,导致module_name变量未赋值就被引用触发的错误,和本地的token文件、依赖包版本匹配度直接相关。

解决方案按优先级尝试:

  • 删除旧token文件重试授权
    直接删除当前代码运行目录下生成的token.json文件,重新执行代码:
import ezgmail
ezgmail.init()

此时会自动拉起浏览器OAuth授权流程,完成授权后新生成的token文件即可正常解析,绝大多数场景该操作即可解决问题。

  • 统一安装兼容版本依赖包
    如果删除token后仍报错,是因为ezgmail依赖的oauth2client早已停止维护,和新版依赖包存在兼容冲突,执行以下命令重装指定版本的依赖即可:
pip uninstall -y oauth2client google-api-python-client ezgmail
pip install ezgmail==0.0.18 google-api-python-client==1.7.11 oauth2client==4.1.3
  • 核对credentials文件类型
    确认你存放的credentials.json是GCP控制台创建的桌面应用类型的OAuth客户端ID凭证,若创建时选择了Web应用、服务账号等其他类型,也会导致授权后生成的token格式异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:15:03