AWS Elastic Beanstalk:Python 2.7

AWS Elastic Beanstalk:Python 2.7

我有一个需要在 Elastic Beanstock 中托管的应用程序。该应用程序需要 Python 2.7,但 Elastic Beanstock 仅支持 Python 2.6。

我想在部署时安装 Python 2.7。这是配置。

.ebextensions/配置:

packages:                                                                                                                                                                                                                                                      
  yum:                                                                                                                                                                                                                                                         
    python27.x86_64: '2.7.3'                                                                                                                                                                                                                                   

container_commands:                                                                                                                                                                                                                                            
  01create_virtual_environment:                                                                                                                                                                                                                                
    command: "virtualenv -p /usr/bin/python27 /opt/python/run/venv27"                                                                                                                                                                                          
  02activate:                                                                                                                                                                                                                                                  
    command: "source /opt/python/run/venv27/bin/activate"                                                                                                                                                                                                      
  02install_packages:                                                                                                                                                                                                                                          
    command: "pip install -r /opt/python/current/app/requirements.txt"

当我创建应用程序时,我得到:

ERROR: Responses from [xxxxxxxx] were received, but the commands failed.

当我 ssh 登录时,我看不到该包。

有想法吗?

答案1

http://leetreveil.roon.io/getting-a-python-2-7-project-running-on-elastic-beanstalk

这是我编写的 .ebextensions/python27.config,用于完成所有设置。我将解释配置的每个部分的作用。

# Yum 安装我们需要的 python2.7 软件包
# 在 EC2 框上。python27-devel、make 和 httpd-devel
# 是使用 python27 获取 modwsgi 设置所必需的。
包装:
  美味:
    python27: []
    python27-开发: []
    制作: []
    httpd-开发: []

命令:
  # 系统当前安装的 modwsgi 版本
  # 仅支持 python2.6。这
  #命令编译并安装支持python2.7的modwsgi。
  安装modwsgi27:
    命令:'[ -f mod_wsgi-3.4.tar.gz ] && echo "mod_wsgi-3.4 已安装" || { wget http://modwsgi.googlecode.com/files/mod_wsgi-3.4.tar.gz; tar xzvf mod_wsgi-3.4.tar.gz; cd mod_wsgi-3.4; ./configure --with-python=python27; make; make install; } | iconv -f utf-8 -t us-ascii//TRANSLIT'

  # 当我们的应用程序被部署时,会设置一个虚拟环境
  # 自动为我们注入 --python=python2.7
  # 参数进入 virtualenv CLI。这将告诉 virtualenv
  # 使用python2.7而不是默认的python2.6。
  使用python27:
    命令:grep "python2.7" 03deploy.py || sed -i 's/--distribute/--python=python2.7 &/' 03deploy.py
    继续:/opt/elasticbeanstalk/hooks/appdeploy/pre

容器命令:
  # 现在我们的应用程序已使用 python2.7 安装,我们
  # 需要修复 wsgi 配置中的一些路径
  # 已指向 python2.6。复制默认的 eb wsgi.conf,
  # 将其签入 git 并替换指向
  # 升级到 python2.6。查看此差异以了解所需的更改:
  # https://github.com/leetreveil/elasticbeanstalk-python27/commit/3b3c955cfe686b9df77e0dddaf299ce6e1a20f32
  01replacewsgiconf:
    命令: scp /opt/python/ondeck/app/wsgi.conf /opt/python/ondeck/wsgi

作者还Git 仓库包含设置所需的所有脚本和文件。

答案2

这里描述了类似的情况,并详细说明了如何解决

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Python_django.html

相关内容