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

移除Python环境的GOOGLE_APPLICATION_CREDENTIALS并使用GCP SDK默认凭证

解决GCP Python/Jupyter默认凭证持久化问题

核心原因

GCP的Python客户端库会优先读取GOOGLE_APPLICATION_CREDENTIALS环境变量指定的服务账号密钥,只有当这个变量不存在时,才会自动使用gcloud auth application-default login生成的默认凭证。你遇到的问题就是旧的环境变量配置仍在生效,覆盖了gcloud的默认凭证。

永久移除旧环境变量配置

Windows系统

  • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
  • 在「用户变量」或「系统变量」列表中找到GOOGLE_APPLICATION_CREDENTIALS,选中后点击「删除」
  • 重启所有终端、Jupyter服务和Python开发工具,确保配置完全生效

macOS/Linux系统

  • 打开终端,编辑对应的shell配置文件:
    • Bash用户:nano ~/.bashrc
    • Zsh用户:nano ~/.zshrc
    • Fish用户:nano ~/.config/fish/config.fish
  • 查找包含export GOOGLE_APPLICATION_CREDENTIALS=的行,直接删除或在行首加#注释掉
  • 执行source ~/.bashrc(对应你的shell配置文件)让当前终端生效,之后重启所有相关应用

验证配置是否生效

  • 打开新终端,执行命令:

    • Windows:echo %GOOGLE_APPLICATION_CREDENTIALS%
    • macOS/Linux:echo $GOOGLE_APPLICATION_CREDENTIALS
      正常情况应无输出,说明变量已清除
  • 在Jupyter新内核中运行验证代码:

from google.cloud import bigquery
# 初始化客户端,会自动使用gcloud默认凭证
client = bigquery.Client()
# 尝试获取项目信息,验证凭证有效性
print("当前连接的GCP项目ID:", client.project)

额外排查场景

  • 虚拟环境专属配置:检查虚拟环境的activate脚本(Windows为Scripts/activate.bat,macOS/Linux为bin/activate),确认是否有设置GOOGLE_APPLICATION_CREDENTIALS的语句,如有则删除
  • IDE单独配置:部分IDE(如PyCharm、VS Code)会在运行/调试配置中单独设置环境变量,需进入对应配置页面,移除GOOGLE_APPLICATION_CREDENTIALS的条目

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:48:21