google api python客户端被OAuth2破坏?

google api python客户端被OAuth2破坏?,python,oauth-2.0,google-bigquery,pycrypto,google-api-python-client,Python,Oauth 2.0,Google Bigquery,Pycrypto,Google Api Python Client,我试图检查BigQuery中是否存在某个数据集,我得到了一个非常奇怪的错误,直到昨天我才发现: ERROR:dsUtils.bq_utils:Could not check if dataset tmp exists. Traceback (most recent call last): File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\dsUtils\bq_utils.py", line 113, i

我试图检查BigQuery中是否存在某个数据集,我得到了一个非常奇怪的错误,直到昨天我才发现:

ERROR:dsUtils.bq_utils:Could not check if dataset tmp exists.
Traceback (most recent call last):
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\dsUtils\bq_utils.py", line 113, in _get
    resp = bq_service.datasets().get(projectId=self.project_id, datasetId=self.id).execute(num_retries=2)
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\oauth2client\util.py", line 137, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\googleapiclient\http.py", line 755, in execute
    method=str(self.method), body=self.body, headers=self.headers)
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\googleapiclient\http.py", line 93, in _retry_request
    resp, content = http.request(uri, method, *args, **kwargs)
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\oauth2client\client.py", line 598, in new_request
    self._refresh(request_orig)
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\oauth2client\client.py", line 864, in _refresh
    self._do_refresh_request(http_request)
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\oauth2client\client.py", line 891, in _do_refresh_request
    body = self._generate_refresh_request_body()
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\oauth2client\client.py", line 1597, in _generate_refresh_request_body
    assertion = self._generate_assertion()
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\oauth2client\service_account.py", line 318, in _generate_assertion
    key_id=self._private_key_id)
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\oauth2client\crypt.py", line 97, in make_signed_jwt
    signature = signer.sign(signing_input)
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\oauth2client\_pycrypto_crypt.py", line 101, in sign
    return PKCS1_v1_5.new(self._key).sign(SHA256.new(message))
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\Crypto\Signature\PKCS1_v1_5.py", line 112, in sign
    m = self._key.decrypt(em)
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\Crypto\PublicKey\RSA.py", line 174, in decrypt
    return pubkey.pubkey.decrypt(self, ciphertext)
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\Crypto\PublicKey\pubkey.py", line 93, in decrypt
    plaintext=self._decrypt(ciphertext)
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\Crypto\PublicKey\RSA.py", line 235, in _decrypt
    r = getRandomRange(1, self.key.n-1, randfunc=self._randfunc)
  File "C:\Users\paco\Anaconda3\envs\visitForecastEnv\lib\site-packages\Crypto\PublicKey\RSA.py", line 126, in __getattr__
    raise AttributeError("%s object has no %r attribute" % (self.__class__.__name__, attrname,))
AttributeError: _RSAobj object has no '_randfunc' attribute

有人知道我为什么会突然出现这些错误吗?

不幸的是,我不知道,但我也注意到api和后端在几天前发生了某些变化。确切地说,它基本上破坏了我所有的工作流程。例如,不可能再将google api python客户端与Luigi orchestrator结合使用了。您能否添加更多关于Luigi和python客户端出现问题的信息?我不知道发生了什么,但我想进一步调查您使用的是什么版本的bq.py以及加载的是什么版本的oauth2client.py?虽然oauth2client.py在几天前已经升级,但在几周前,bq client的setup.py指定了oauth2client v1.2。最近,bq.py包更改为绑定到oauth2client.py包,该包位于随Google Cloud SDK一起安装的gcloud客户端的bq子目录中。如果您使用自定义绑定到不同的oauth2client版本,那么您是在未经测试的配置中运行的。我猜Luigi在与许多工作程序一起使用时使用了fork,这与新的oauth2client Tapi冲突。我使用的是最新版本的google api python客户端(1.5.0),它与最新版本的oauth2client(2.0.0 post1)一起提供。不幸的是,我不知道,但我也注意到几天前api和后端中的某些内容发生了变化。确切地说,它基本上破坏了我的所有工作流程。例如,不可能再将google api python客户端与Luigi orchestrator结合使用了。您能否添加更多关于Luigi和python客户端出现问题的信息?我不知道发生了什么,但我想进一步调查您使用的是什么版本的bq.py以及加载的是什么版本的oauth2client.py?虽然oauth2client.py在几天前已经升级,但在几周前,bq client的setup.py指定了oauth2client v1.2。最近,bq.py包更改为绑定到oauth2client.py包,该包位于随Google Cloud SDK一起安装的gcloud客户端的bq子目录中。如果您使用自定义绑定到不同的oauth2client版本,那么您是在未经测试的配置中运行的。我猜Luigi在与许多工作程序一起使用时使用了fork,这与新的oauth2client Tapi冲突。我使用的是最新版本的google api python客户端(1.5.0),它与最新版本的oauth2client(2.0.0 post1)一起提供