2016-04-24 51 views
0

我试图建立动态缩略服务thumbor和支持S3存储,我需要设置这个社区供电pip library for awsAWS没有凭据错误

它的工作以及对我的当地环境,但是当我想其托管在我们的服务器之一,我得到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:

这个问题得到了与上司的正确配置解决。由主管开始为进程的用户没有访问配置文件

+0

它看起来像你的服务器没有做凭据正确配置。你如何在你的服务器和你的开发机器上设置你的凭证?关于这些版本,它看起来像tc_aws对botocore 1.2.0有很大的依赖性,所以如果升级超过这一点,它可能无法正常工作。 –

+0

是啊tc_aws降级botocore到1.2.0。使用当前的配置,我尝试从命令行连接到s3桶与boto3,它的工作原理。我不知道安装这些库的顺序是什么。 – pratsJ

+0

@JordonPhillips我想我找到了问题。我正在与主管的过程,然后再处理着访问AWS凭证 – pratsJ

回答

0

这个问题得到了与上司的正确配置解决。主管启动的子流程的用户无法访问aws配置文件。所以它是与当地环境合作或独立创建过程,但不与主管合作。