Windows 11中Python无法识别Google ADC的技术问题求助
Windows 11下Google应用默认凭据(ADC)无法被Python脚本识别的解决办法
以下是针对该问题的排查和解决步骤:
检查并手动配置环境变量
Windows 11迁移后,可能未自动设置GOOGLE_APPLICATION_CREDENTIALS环境变量,导致Python无法定位凭据文件:- 打开「系统属性」→「高级」→「环境变量」
- 在「用户变量」区域点击「新建」,变量名填
GOOGLE_APPLICATION_CREDENTIALS,变量值填写完整的凭据文件路径:C:\Users\<你的用户名>\AppData\Roaming\gcloud\application_default_credentials.json - 保存后重启终端或IDE,确保环境变量生效
验证凭据文件的权限与完整性
右键application_default_credentials.json文件,选择「属性」→「安全」,确认当前用户拥有读取权限(迁移过程中可能出现权限继承异常)。同时打开文件检查JSON格式是否完整,确保没有损坏。升级google-auth相关依赖库
旧版本的google-auth库可能存在Windows 11路径解析兼容问题,执行以下命令升级到最新稳定版:pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2临时强制指定凭据路径排查
如果环境变量配置后仍无效,可在代码中直接指定凭据路径,验证是否为路径读取问题:import os # 替换为你的实际凭据文件路径 os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = r'C:\Users\<你的用户名>\AppData\Roaming\gcloud\application_default_credentials.json' import google.auth import google.auth.transport.requests SCOPES = ["https://www.googleapis.com/auth/cloud-platform.read-only"] credentials, project_id = google.auth.default(scopes=SCOPES, quota_project_id=None) _ = google.auth.transport.requests.Request() credentials.refresh(_)若此方法生效,说明Python进程未正确读取系统环境变量,需检查IDE的环境配置(如VS Code需重启或重新加载环境)。
排查安全软件拦截
Windows Defender或第三方安全软件可能拦截Python读取Roaming目录下的文件,可临时关闭安全软件测试,或将C:\Users\<你的用户名>\AppData\Roaming\gcloud目录加入安全软件信任列表。
内容的提问来源于stack exchange,提问作者John Heyer
相关产品推荐
相关产品推荐

