Google Storage Python API typeError - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь использовать клиентскую библиотеку Python для Google Cloud Storage. Когда я пытаюсь инициализировать клиента, я получаю typeError. Однако я не могу найти ссылку на это.


TypeError                                 Traceback (most recent call last)
<ipython-input-8-c05b3b802290> in <module>()
----> 1 storage_client = storage.Client()

/opt/anaconda3/envs/python35/lib/python3.5/site-packages/google/cloud/storage/client.py in __init__(self, project, credentials, _http, client_info)
     84         if no_project:
     85             self.project = None
---> 86         self._connection = Connection(self, client_info=client_info)
     87         self._batch_stack = _LocalStack()
     88 

/opt/anaconda3/envs/python35/lib/python3.5/site-packages/google/cloud/storage/_http.py in __init__(self, client, client_info)
     31 
     32     def __init__(self, client, client_info=None):
---> 33         super(Connection, self).__init__(client, client_info)
     34 
     35         self._client_info.gapic_version = __version__

TypeError: __init__() takes 2 positional arguments but 3 were given

Мой код довольно прост, и другие облачные библиотеки работают должным образом:

import os
from google.cloud import storage
from google.cloud import bigquery

os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "/.google.json"
bigquery_client = bigquery.Client()
storage_client = storage.Client()

AMI моего облака настроен соответственно (учетная запись службы):

BigQuery Admin
Storage Admin 

Среда Python - 3.5

1 Ответ

1 голос
/ 18 июня 2019

Ваша проблема выглядит как несоответствие библиотеки.

На что посмотреть:

  1. Установите / обновите библиотеки до последней версии.
  2. Установите последнюю версию пакета Python.
  3. Используйте virtualenv для каждой программы, чтобы не возникало проблем с библиотеками и версиями компилятора.
...