【问题标题】:How to set project ID to avoid warnings?如何设置项目ID以避免警告?
【发布时间】:2018-05-05 13:07:25
【问题描述】:

我正在尝试设置一个新的 Colaboratory 笔记本来分析 BigQuery 中的数据。在示例文档之后,我的第一个代码 sn-p 为:

project_id = '<redacted>'
from google.colab import auth
auth.authenticate_user()

当我运行它时,我收到以下警告,重复了两次:

WARNING:google.auth._default:No project ID could be determined from the credentials 
at GOOGLE_APPLICATION_CREDENTIALS Consider setting the GOOGLE_CLOUD_PROJECT 
environment variable

尝试通过os.environ 设置项目ID 无效。

每次我使用 pandas 执行 SQL 语句时也会出现此错误,即使我提供了它,á la:

pd.io.gbq.read_gbq(sql, project_id=project_id, verbose=False, dialect='standard')

【问题讨论】:

    标签: google-colaboratory


    【解决方案1】:

    所以这里有几个问题:

    1. 您为什么会看到这些警告?

      您看到的消息是日志消息;如果您看到它们,这意味着您的代码或您调用的代码正在调用类似logging.basicConfig() 的东西。这将导致足够级别的日志消息(默认为WARNING)将显示到 stderr,这就是这里发生的情况。

    2. 这些警告是关于什么的?

      这种情况下的警告是告诉您google.auth 无法找到项目;碰巧的是,有关环境变量的消息实际上是虚假的,因为未在此路径中读取命名的 var。我有filed a bug upstream

    您有两个简单的选择:

    1. 关闭日志记录(您执行此操作的方式会因您启用它的方式而异)。您还可以选择性地将日志级别设置为其他值。

    2. 忽略这些消息。 (它们无害,但很烦人。)

    我提交了一个colab issue 来跟踪让这不那么烦人。

    【讨论】:

      【解决方案2】:

      您应该能够为指定项目的 GCP 调用设置环境

      import os
      os.environ["GOOGLE_CLOUD_PROJECT"] = project_id
      

      【讨论】:

      • 谢谢,这让我的警告在没有系统更改的情况下消失了。很不错
      猜你喜欢
      • 2016-12-25
      • 2021-02-04
      • 2019-02-21
      • 1970-01-01
      • 2023-02-03
      • 1970-01-01
      • 2019-12-22
      • 2021-09-01
      • 2014-03-21
      相关资源
      最近更新 更多