Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 包括弹性豆茎中的Boto库_Python_Amazon Web Services_Boto_Amazon Elastic Beanstalk - Fatal编程技术网

Python 包括弹性豆茎中的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的模块 配置文件中是否缺少任何内容?我还需要做其他事情吗?的包名实际

我正在寻找如何在弹性Beanstalk实例中包含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');"