如何在不创建自定义AMI的情况下运行Django时告诉Amazon Elastic Beanstalk使用Python 2.7.3?
似乎应该直截了当地告诉弹性beanstalk使用比2.6更高版本的python。我真的不想创建自定义AMI,因为这似乎使问题过于复杂。
我需要python 2.7.3,我需要使用virtualenv 1.8.X.我注意到使用更高版本的virtualenv而不是亚马逊部署教程(1.7.X)似乎会对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,这可能没问题,但我更喜欢保持系统完整。
我可以用yum安装python27,如上所示,并将python26保留为默认python,但我不知道如何确保服务器使用python27来启动Django。所以另一个问题是,如何告诉弹性beanstalk使用python27来运行Django而不是默认的python?我可以轻松地将python27安装在系统上作为备用python,我只需要明确地调用它。
我希望这个问题不是太宽泛。我试图提出多个角度来解决这个问题。谢谢你的帮助。
答案 0 :(得分:-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 “
然后你应该没事!