Нет ошибки учетных данных

Я пытаюсь настроить динамический thumbnail сервис thumbor и для поддержки s3 в качестве хранилища, мне нужно настроить эту библиотеку pip для сообщества на aws.

Он хорошо работает в моей локальной среде, но когда я пытаюсь разместить его на одном из наших серверов, я получаю NoCredentialsError. Я предполагаю, что это из-за различий в версиях botocore (последняя и последняя установлены библиотекой pip). Вот журнал ошибок:

  File "/usr/local/lib/python2.7/dist-packages/botocore/session.py", line 774, in get_component
    # client config from the session
  File "/usr/local/lib/python2.7/dist-packages/botocore/session.py", line 174, in <lambda>
    self._components.lazy_register_component(
  File "/usr/local/lib/python2.7/dist-packages/botocore/session.py", line 453, in get_data
    - agent_version is the value of the `user_agent_version`
  File "/usr/local/lib/python2.7/dist-packages/botocore/loaders.py", line 119, in _wrapper
    data = func(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/botocore/loaders.py", line 364, in load_data
DataNotFoundError: Unable to load data for: _endpoints







2016-04-24 12:14:34 tornado.application:ERROR Future exception was never retrieved: Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 230, in wrapper
    yielded = next(result)
  File "/usr/local/lib/python2.7/dist-packages/thumbor/handlers/imaging.py", line 31, in check_image
    exists = yield gen.maybe_future(self.context.modules.storage.exists(kw['image'][:self.context.config.MAX_ID_LENGTH]))
  File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 455, in wrapper
    future.result()
  File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 215, in result
    raise_exc_info(self._exc_info)
  File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 443, in wrapper
    result = f(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/tc_aws/aws/storage.py", line 107, in exists
    self.storage.get(file_abspath, callback=return_data)
  File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 455, in wrapper
    future.result()
  File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 215, in result
    raise_exc_info(self._exc_info)
  File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 443, in wrapper
    result = f(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/tc_aws/aws/bucket.py", line 44, in get
    Key=self._clean_key(path),
  File "/usr/local/lib/python2.7/dist-packages/tornado_botocore/base.py", line 97, in call
    return self._make_api_call(operation_name=self.operation, api_params=kwargs, callback=callback)
  File "/usr/local/lib/python2.7/dist-packages/tornado_botocore/base.py", line 60, in _make_api_call
    operation_model=operation_model, request_dict=request_dict, callback=callback)
  File "/usr/local/lib/python2.7/dist-packages/tornado_botocore/base.py", line 54, in _make_request
    request_dict=request_dict, operation_model=operation_model, callback=callback)
  File "/usr/local/lib/python2.7/dist-packages/tornado_botocore/base.py", line 32, in _send_request
    request = self.endpoint.create_request(request_dict, operation_model)
  File "/usr/local/lib/python2.7/dist-packages/botocore/endpoint.py", line 126, in create_request
    operation_name=operation_model.name)
  File "/usr/local/lib/python2.7/dist-packages/botocore/hooks.py", line 226, in emit
    return self._emit(event_name, kwargs)
  File "/usr/local/lib/python2.7/dist-packages/botocore/hooks.py", line 209, in _emit
    response = handler(**kwargs)
  File "/usr/local/lib/python2.7/dist-packages/botocore/signers.py", line 90, in handler
    return self.sign(operation_name, request)
  File "/usr/local/lib/python2.7/dist-packages/botocore/signers.py", line 124, in sign
    signer.add_auth(request=request)
  File "/usr/local/lib/python2.7/dist-packages/botocore/auth.py", line 626, in add_auth
    raise NoCredentialsError
NoCredentialsError: Unable to locate credentials

Может ли это быть исправлено при правильном порядке, в котором я устанавливаю библиотеки? Потому что библиотека pip удаляет существующую более новую версию botocore и устанавливает более старую версию.

РЕДАКТИРОВАТЬ:

Я запускаю процессы с супервизором, и кажется, что процесс не может получить доступ к учетным данным AWS

РЕДАКТИРОВАТЬ 2:

Проблема была решена с правильной настройкой супервизора. У пользователя для процесса, запущенного супервизором, не было доступа к файлу конфигурации

1 ответ

Решение

Проблема была решена с правильной настройкой супервизора. У пользователя подпроцесса, запущенного супервизором, не было доступа к файлу конфигурации aws. Так что он работал с локальной средой или создавал процесс отдельно, а не с супервизором.

Другие вопросы по тегам