Search code examples
google-app-engine-pythongoogle-cloud-python

google-cloud-storage library from nosetests using testbed


I have google-cloud-storage pip installed into a lib directory and vendored in. It's running just fine locally during development of my python appengine app. However, when trying to run unit tests via nose and testbed I'm getting "The 'google-cloud-core' distribution was not found and is required by the application". Here is the stack:

Traceback (most recent call last):
  File "/Users/jason/dev/gain-data/venv/lib/python2.7/site-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/Users/jason/dev/gain-data/venv/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/Users/jason/dev/gain-data/venv/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/Users/jason/dev/gain-data/data/storage/__init__.py", line 4, in <module>
    from google.cloud.storage import Blob, Client
  File "/Users/jason/dev/gain-data/lib/google/cloud/storage/__init__.py", line 42, in <module>
    from google.cloud.storage.batch import Batch
  File "/Users/jason/dev/gain-data/lib/google/cloud/storage/batch.py", line 30, in <module>
    from google.cloud.storage.connection import Connection
  File "/Users/jason/dev/gain-data/lib/google/cloud/storage/connection.py", line 17, in <module>
    from google.cloud import connection as base_connection
  File "/Users/jason/dev/gain-data/lib/google/cloud/connection.py", line 31, in <module>
    get_distribution('google-cloud-core').version)
  File "/Users/jason/dev/gain-data/venv/lib/python2.7/site-packages/pkg_resources/__init__.py", line 557, in get_distribution
    dist = get_provider(dist)
  File "/Users/jason/dev/gain-data/venv/lib/python2.7/site-packages/pkg_resources/__init__.py", line 431, in get_provider
    return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
  File "/Users/jason/dev/gain-data/venv/lib/python2.7/site-packages/pkg_resources/__init__.py", line 968, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/Users/jason/dev/gain-data/venv/lib/python2.7/site-packages/pkg_resources/__init__.py", line 854, in resolve
    raise DistributionNotFound(req, requirers)
DistributionNotFound: The 'google-cloud-core' distribution was not found and is required by the application

Any thoughts?


Solution

  • I had the same issue with google-cloud-translate, I was forced to also install the package "globally", i.e. pip install google-cloud-translate.