6

Come posso dire ad Amazon Elastic Beanstalk di utilizzare Python 2.7.3 quando si esegue Django senza creare un AMI personalizzato?Configurare il beanstalk elastico per utilizzare la nuova versione di python

Sembra che sia semplice dire a beanbalk elastico di utilizzare una versione successiva di Python di 2.6. Mi piacerebbe davvero non creare un AMI personalizzato, in quanto sembra complicare eccessivamente il problema.

Ho bisogno di python 2.7.3 e ho bisogno di usare virtualenv 1.8.X. Ho notato che l'utilizzo di una versione successiva di virtualenv rispetto al tutorial di distribuzione di Amazon (1.7.X) sembra avere un impatto negativo su 'git aws.push', ma non ho un'opzione in questo caso a causa dei requisiti del client.

Ho guardato nella creazione di comandi contenitore personalizzato nei .ebextensions/* config, come ad esempio:.

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

ma questo rompe yum, che potrebbe essere ok, ma preferisco mantenere il sistema intatto.

Potrei installare python27 con yum, come dimostrato sopra, e mantenere python26 come python predefinito, ma non so come assicurarsi che il server usi python27 per avviare Django. Quindi una domanda alternativa sarebbe, come faccio a dire a beanstalk elastico di usare python27 per eseguire Django invece del python predefinito? Posso facilmente ottenere python27 installato sul sistema come un python alternativo, devo solo chiamarlo esplicitamente.

Spero che questa domanda non sia troppo ampia. Sto provando a inventare più angolazioni per risolvere questo problema. Grazie per qualsiasi aiuto.

+0

Se sai dove Elastic Beanstalk mantiene è virtualenv python, sostituisci semplicemente quello invece che quello reale. Non sono sicuro delle differenze nei virtualenvs. – Mikhail

+0

Hai avuto fortuna con questo? – Andres

risposta

-2

Mi sono imbattuto in questo stesso identico problema e la soluzione era abbastanza semplice.

Supponendo che l'ambiente PATH variabile punta a questa cartella:

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

Andateci e modificare il file denominato "eb"

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

Nella prima riga in cui si dice "#!/usr/bin/env python "cambiarlo in" #!/usr/bin/env python2.7 "

E allora dovresti essere a posto!

+1

La domanda riguarda la distribuzione, non lo strumento da riga di comando eb – Andres

Problemi correlati