Python 包括弹性豆茎中的Boto库
我正在寻找如何在弹性Beanstalk实例中包含Boto库。我觉得我必须在Python 包括弹性豆茎中的Boto库,python,amazon-web-services,boto,amazon-elastic-beanstalk,Python,Amazon Web Services,Boto,Amazon Elastic Beanstalk,我正在寻找如何在弹性Beanstalk实例中包含Boto库。我觉得我必须在.ebextensions中指定它。不幸的是,这似乎不起作用(见下文) python.config: packages: python: Flask: [] Boto: [] option_settings: ...AWS key redacted... 代码: 错误消息: ImportError:没有名为boto的模块 配置文件中是否缺少任何内容?我还需要做其他事情吗?的包名实际
.ebextensions
中指定它。不幸的是,这似乎不起作用(见下文)
python.config:
packages:
python:
Flask: []
Boto: []
option_settings:
...AWS key redacted...
代码:
错误消息:
ImportError:没有名为boto的模块
配置文件中是否缺少任何内容?我还需要做其他事情吗?的包名实际上是小写的,因此调整它可能已经解决了您的问题
或者,您可能希望通过典型的requirements.txt
文件和pip
尝试显然推荐的方法,请参见2):
创建一个requirements.txt文件并将其放置在顶级目录中
您的源包的。典型的python应用程序将具有
对其他第三方Python包的依赖关系。在Python中,pip是
安装软件包的标准方式。Pip有一个允许
您需要指定所需的所有软件包(及其版本)
在单个需求文件中。有关
需求文件,请转到。下面是一个例子
Django的示例requirements.txt文件
Django==1.4.1
MySQL-python==1.2.3
因此,在您的情况下,目前可能是:
Flask==0.9
boto==2.9.2
这也如中所示。库“boto”默认安装在beanstalk的AMI上 如果您使用的是默认的elastic beanstalk角色(IAM),那么您不需要将这些敏感信息(如密钥)放在配置中 像这样的东西直接起作用:
# .ebexetensions/boto-testing.config
commands:
boto-testing:
command: python -c "import boto;boto.connect_s3().get_bucket('my-private-bucket').get_key('secretfolder/secretfile.txt').get_contents_to_filename('/path/to/save/it');"
# .ebexetensions/boto-testing.config
commands:
boto-testing:
command: python -c "import boto;boto.connect_s3().get_bucket('my-private-bucket').get_key('secretfolder/secretfile.txt').get_contents_to_filename('/path/to/save/it');"