библиотека google-cloud-storage из носовых тестов с использованием тестового стенда

У меня есть google-cloud-storage pip, установленный в каталоге lib и продаваемый. Он отлично работает локально во время разработки моего приложения python appengine. Однако при попытке запустить модульные тесты через нос и тестовый стенд я получаю сообщение «Распределение «google-cloud-core» не найдено и требуется приложению». Вот стек:

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

есть идеи?


person jcjones1515    schedule 14.10.2016    source источник


Ответы (2)


У меня была такая же проблема с google-cloud-translate, я был вынужден также установить пакет «глобально», то есть pip install google-cloud-translate.

person KanAfghan    schedule 16.06.2017

После того, как я много боролся с этой же проблемой, я обнаружил, что ошибка была связана с тем, что библиотека pip поставщика не была в PYTHONPATH до вызова носовых тестов. Попробуйте добавить библиотеку поставщика в PYTHONPATH, а затем запустите тесты.

    export PYTHONPATH="$(HOME)/Projects/myproject/pip_lib:$$PYTHONPATH"; \
    nosetests . 
person Mohamed Dem Diarra    schedule 22.10.2019