我在Python中运行以下代码以连接数据实验室笔记本中的大查询api:
!pip install google-api-python-client==1.4.2 httplib2==0.9.2 oauth2client==1.5.2 pyasn1==0.1.9 pyasn1-modules==0.0.8 rsa==3.2.3 simplejson==3.8.1 six==1.10.0 uritemplate==0.6 wheel==0.24.0
import httplib2
import time
import datetime as dt
import sys
import subprocess
from googleapiclient import errors
from googleapiclient.discovery import build
from oauth2client.file import Storage
from oauth2client.client import GoogleCredentials
from googleapiclient.http import MediaFileUpload
import gcp.bigquery as bq
import pandas as pd
credentials = GoogleCredentials.get_application_default()
bigquery_service = build('bigquery', 'v2', credentials=credentials)
我收到以下错误:
ImportError Traceback(最近一次调用最后一次) in()
----> 5个凭据= GoogleCredentials.get_application_default() 6 7 bigquery_service = build(' bigquery',' v2',凭据=凭据)
/usr/local/lib/python2.7/dist-packages/oauth2client/client.pyc in> get_application_default() 1202""" 1203回归自我 - > 1204 1205 @property 1206 def serialization_data(self):
_get_implicit_credentials(cls)中的/usr/local/lib/python2.7/dist-packages/oauth2client/client.pyc 1187 access_token,client_id,client_secret,refresh_token, 1188 token_expiry,token_uri,user_agent,revoke_uri = revoke_uri) - > 1189 1190 def create_scoped_required(self): 1191"""此凭据对象是否为无范围。
_pmplicit_credentials_from_gce()中的 /usr/local/lib/python2.7/dist-packages/oauth2client/client.pyc 1123 def _in_gce_environment(): 1124"""检测代码是否在Compute Engine环境中运行。 - > 1125 1126返回: 1127如果在GCE环境中运行,则为True,否则为False。 _get_application_default_credential_GCE()中的 /usr/local/lib/python2.7/dist-packages/oauth2client/client.pyc 1378凭据:要保存到众所周知的文件的凭据; 1379它应该是GoogleCredentials的一个实例 - > 1380 well_known_file:凭据所在文件的名称 1381保存;该参数应该用于 仅限1382测试/usr/local/lib/python2.7/dist-packages/oauth2client/gce.py in() 24来自oauth2client._helpers import _from_bytes 25来自oauth2client import util ---> 26来自oauth2client.client导入HttpAccessTokenRefreshError 27来自oauth2client.client导入AssertionCredentials 28
ImportError:无法导入名称HttpAccessTokenRefreshError
我错过了什么?为什么这个谷歌提供的示例不适用于数据实验室?
答案 0 :(得分:1)
在做了一些谷歌搜索之后,我在这里找到了答案:authentication error in Cloud Datalab: "ImportError: No module named gce”
这个解决方案解决了我的问题。