Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

import cloudstorage, SyntaxError: invalid syntax

I would like to use Google Cloud Storage Client Library Functions.

For that I have to import cloudstorage. To get the cloudstorage I download Google Cloud Storage client library.

I try to import cloudstorage using python -c "import cloudstorage". I get the following error:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/fghavamian/Documents/PhD_work/Codes/python/convnet_gcloud/cloudstorage/__init__.py", line 20, in <module>
    from .api_utils import RetryParams
  File "/Users/fghavamian/Documents/PhD_work/Codes/python/convnet_gcloud/cloudstorage/api_utils.py", line 173
    except self.retriable_exceptions, e:
                                    ^
SyntaxError: invalid syntax

Am I missing something?

like image 862
Fariborz Ghavamian Avatar asked Feb 01 '18 10:02

Fariborz Ghavamian


1 Answers

As one of the comments says, this is an issue with using Python 3, where the syntax has changed. It looks like the Google Cloud Storage library you are using is not as well supported and that the more recommended library is google-cloud-python.

You can install it with the command below, assuming you have installed the Google Cloud SDK:

pip install google-cloud-storage

Here is some sample code (from the docs) that shows how to read and write to a bucket.

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
like image 119
matwilso Avatar answered Nov 04 '22 12:11

matwilso