簡體   English   中英

配置彈性beanstalk以使用新版本的python

[英]Configure elastic beanstalk to use new version of python

如何在不創建自定義AMI的情況下運行Django時告訴Amazon Elastic Beanstalk使用Python 2.7.3?

似乎應該直截了當地告訴彈性beanstalk使用比2.6更高版本的python。 我真的不想創建自定義AMI,因為這似乎使問題過於復雜。

我需要python 2.7.3,我需要使用virtualenv 1.8.X. 我注意到使用比amazon部署教程(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,這可能沒問題,但我更願意保持系統完好無損。

我可以用yum安裝python27,如上所示,並將python26保留為默認python,但我不知道如何確保服務器使用python27來啟動Django。 所以另一個問題是,如何告訴彈性beanstalk使用python27來運行Django而不是默認的python? 我可以很容易地在系統上安裝python27作為備用python,我只需要明確地調用它。

我希望這個問題不是太寬泛。 我正試圖想出多個角度來解決這個問題。 謝謝你的幫助。

我遇到了同樣的問題,解決方案非常簡單。

假設您的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

然后你應該沒事!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM