6

在不创建自定义 AMI 的情况下运行 Django 时,如何告诉 Amazon Elastic Beanstalk 使用 Python 2.7.3?

告诉弹性 beantalk 使用比 2.6 更高版本的 python 似乎应该很简单。我真的不想创建自定义 AMI,因为这似乎使问题过于复杂。

我需要python 2.7.3,我需要使用virtualenv 1.8.X。我注意到使用比亚马逊部署教程(1.7.X)更高版本的 virtualenv 似乎会对“git aws.push”产生负面影响,但由于客户要求,在这种情况下我没有选择。

我研究了在 .ebextensions/*.config 中创建自定义容器命令,例如:

container_commands:
  update_python:
    command: "sudo yum -y install python27; sudo ln -sf `which python2.7` /usr/bin/python"

但这打破了百胜,这可能没问题,但我更愿意保持系统完好无损。

我可以使用 yum 安装 python27,如上所示,并将 python26 保留为默认 python,但我不知道如何确保服务器使用 python27 启动 Django。所以另一个问题是,我如何告诉 elastic beanstalk 使用 python27 来运行 Django 而不是默认的 python?我可以轻松地将 python27 作为备用 python 安装在系统上,我只需要显式调用它。

我希望这个问题不会太宽泛。我试图想出多个角度来解决这个问题。谢谢你的帮助。

4

1 回答 1

-3

我遇到了同样的问题,解决方案非常简单。

假设您的 PATH 环境变量指向此文件夹:

<path to unzipped EB CLI package>/eb/linux/python2.7/

去那里编辑名为“eb”的文件

$cd <path to unzipped EB CLI package>/eb/linux/python2.7/
$vim eb

在第一行显示“ !#/usr/bin/env python ”将其更改为“ !#/usr/bin/env python2.7

然后你应该没事!

于 2013-03-29T16:56:03.823 回答