2013-02-26 197 views
6

如何在不創建自定義AMI的情況下運行Django時如何告知Amazon Elastic Beanstalk使用Python 2.7.3?將彈性beanstalk配置爲使用python的新版本

看起來應該很簡單,告訴彈性beanstalk使用比2.6更高版本的python。我真的很想不創建一個自定義的AMI,因爲這看起來過於複雜的問題。

我需要python 2.7.3,我需要使用virtualenv 1.8.X.我注意到,使用比amazon部署教程(1.7.X)更高版本的virtualenv似乎會對'git aws.push'產生負面影響,但是由於客戶端的要求,在這種情況下我沒有選項。

我看着在.ebextensions創建自定義容器的命令/ *配置,如:

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。所以另外一個問題是,我該如何告訴彈性beanstalk使用python27來運行Django而不是默認的python?我可以很容易地在系統上安裝python27作爲替代python,我只需要明確地調用它。

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

+0

如果您知道Elastic Beanstalk在哪裏保留它的virtualenv python,那麼只需替換那個而不是真正的那個。儘管如此,我不確定虛擬世界中的差異。 – Mikhail 2013-03-08 07:49:16

+0

這個運氣好嗎? – Andres 2013-05-10 22:15:05

回答

-2

我遇到了這個完全相同的問題,解決方案很簡單。

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

那麼你應該沒問題!

+1

問題在於詢問部署,而不是eb命令行工具 – Andres 2013-05-10 19:42:46

相關問題