Amazon web services 在rpm下打包时,boto3抛出错误

Amazon web services 在rpm下打包时,boto3抛出错误,amazon-web-services,rpm,boto3,Amazon Web Services,Rpm,Boto3,我在我的项目中使用boto3,当我将其打包为rpm时,它在初始化ec2客户端时引发错误 <class 'botocore.exceptions.DataNotFoundError'>:Unable to load data for: _endpoints. Traceback -Traceback (most recent call last): File "roboClientLib/boto/awsDRLib.py", line 186, in _get_ec2_client F

我在我的项目中使用boto3,当我将其打包为rpm时,它在初始化ec2客户端时引发错误

<class 'botocore.exceptions.DataNotFoundError'>:Unable to load data for: _endpoints. Traceback -Traceback (most recent call last):
File "roboClientLib/boto/awsDRLib.py", line 186, in _get_ec2_client
File "boto3/__init__.py", line 79, in client
File "boto3/session.py", line 200, in client
File "botocore/session.py", line 789, in create_client
File "botocore/session.py", line 682, in get_component
File "botocore/session.py", line 809, in get_component
File "botocore/session.py", line 179, in <lambda>
File "botocore/session.py", line 475, in get_data
File "botocore/loaders.py", line 119, in _wrapper
File "botocore/loaders.py", line 377, in load_data
DataNotFoundError: Unable to load data for: _endpoints

Botocore依赖于它用来动态生成客户端的一组数据。Boto3还取决于它用来生成资源客户端的资源。您需要在boto3或botocore的任何安装中包括这些。这些文件需要位于相应库根目录的“data”文件夹中。

我遇到了同样的问题:

botocore.exceptions.DataNotFoundError:无法加载的数据:ec2/2016-04-01/service-2

我发现目录不见了。通过运行以下命令更新
botocore
,解决了我的问题:

pip install --upgrade botocore

我面临着类似的问题,这是由于旧版本的botocore。一旦我更新了它,它就开始工作了

请考虑使用下面的命令。

pip安装--升级botocore

另外,请确保您已设置boto配置文件

Boto按以下顺序搜索凭据

  • 在boto.client()方法中将凭据作为参数传递
  • 创建会话对象时将凭据作为参数传递
  • 环境变量
  • 共享凭据文件(~/.aws/credentials)
  • AWS配置文件(~/.AWS/config)
  • 担任提供者角色
  • Boto2配置文件(/etc/boto.cfg和~/.boto)
  • 具有IAM的Amazon EC2实例上的实例元数据服务 已配置角色

谢谢。我使用了.egg(使用easy_install utility安装)和我的make文件,而bot3将数据文件包含到RPM中。当打包为
zip
时,也会抛出错误。我猜
aws
SDK不喜欢打包
pip install --upgrade botocore