运行Google Sheets Python API quickstart.py遇CredentialsWithTokenUri属性错误
解决AttributeError: module 'google.auth.credentials' has no attribute 'CredentialsWithTokenUri'
错误原因
这个问题是因为google-auth库版本过低,缺少CredentialsWithTokenUri属性导致的。google_auth_oauthlib的新版本依赖google-auth的特定新特性,而你当前环境里的google-auth版本不满足要求。
修复步骤
卸载旧版google-auth
运行命令卸载现有版本:pip uninstall -y google-auth要是用conda环境,也可以用:
conda remove google-auth安装兼容的最新版本
直接升级相关依赖包,确保版本匹配:pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2验证版本
安装完成后,运行以下代码检查版本:import google.auth print(google.auth.__version__)确保版本在2.0.0以上(
CredentialsWithTokenUri是在2.0.0版本中引入的)。重新运行脚本
完成上述操作后,再次执行quickstart.py,应该就能正常启动OAuth授权流程了。
额外排查点
- 如果是conda环境,优先用conda安装相关包,避免pip和conda的包冲突:
conda install -c conda-forge google-auth google-auth-oauthlib - 检查工作目录下是否有同名的
google文件夹或google.py文件,避免模块导入混淆。
内容的提问来源于stack exchange,提问作者heshi
相关产品推荐
相关产品推荐

