импортировать cloudstorage, SyntaxError: неверный синтаксис


person Fariborz Ghavamian    schedule 01.02.2018    source источник
comment
Мое предположение: вы используете Python 3, но это похоже на синтаксис Python 2 (except Exception, e больше не используется)   -  person Chris_Rands    schedule 01.02.2018
comment
@Крис_Рэндс; Да, это из-за использования Python3. Когда я использую python 2, ошибка исчезает. Но есть еще одна проблема, теперь я получаю следующую ошибку ImportError: No module named appengine.api.   -  person Fariborz Ghavamian    schedule 01.02.2018
comment
Возможный дубликат import cloudstorage, ImportError: нет модуля с именем google.appengine .api   -  person VictorGGl    schedule 08.02.2018
comment
Вы когда-нибудь находили решение?   -  person Manza    schedule 18.08.2018
comment
Я открыл задачу на github, но она выглядит как google-cloud-python — это более современный API для облачного хранилища.   -  person matwilso    schedule 24.09.2018


Ответы (1)


Как говорится в одном из комментариев, это проблема с использованием Python 3, где изменился синтаксис. Похоже, используемая вами библиотека Google Cloud Storage не так хорошо поддерживается и что более рекомендуемая библиотека: google-cloud-python.

Вы можете установить его с помощью приведенной ниже команды, если у вас установлен Google Cloud SDK:

pip install google-cloud-storage

Вот пример кода (из документации) который показывает, как читать и писать в ведро.

from google.cloud import storage
client = storage.Client()
# https://console.cloud.google.com/storage/browser/[bucket-id]/
bucket = client.get_bucket('bucket-id-here')
# Then do other things...
blob = bucket.get_blob('remote/path/to/file.txt')
print(blob.download_as_string())  # read content from bucket and print to stdout
blob.upload_from_string('New contents!')
blob2 = bucket.blob('remote/path/storage.txt')
blob2.upload_from_filename(filename='/local/path.txt')  # write from path.txt to storage.txt
person matwilso    schedule 23.09.2018