我正在Mac上使用VSCode在Django项目上测试Google Cloud Pub/Sub,在调试测试过程中设置GCP环境变量,特别是GOOGLE_APPLICATION_CREDENTIALS
环境变量时遇到了一些问题。
我可以设置GOOGLE_APPLICATION_CREDENTIALS
,以便在shell中使用export GOOGLE_APPLICATION_CREDENTIALS="path/to/json_credential_file.json"
本地运行服务器和/或测试,但由于VSCode调试器在单独的shell中运行,因此在调试测试时不会设置env变量。我尝试在launch.json
:中向env
密钥添加相同的值
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "path/to/json_credential_file.json"
}
但它仍然抱怨GOOGLE_APPLICATION_CREDENTIALS没有设置:
oauth2client.client.ApplicationDefaultCredentialsError: The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
有什么想法吗?
您可以使用启动配置,并在特定于编程语言的配置中设置"env"变量。
https://code.visualstudio.com/docs/editor/debugging#_launch-配置
下面是一个示例
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "./secret.do.not.commit/serviceAccountTasks.privateKey.json"
}
这是参考资料https://code.visualstudio.com/docs/editor/debugging#_launch-配置
在Powershell中,运行
[Environment]::SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "pathserviceAccountTasks.privateKey.json", "User")
这将设置所有进程的环境变量