6

Wie kann ich Amazon Elastic Beanstalk die Verwendung von Python 2.7.3 beim Ausführen von Django mitteilen, ohne ein benutzerdefiniertes AMI zu erstellen?Konfigurieren von elastischem Bohnenranke zur Verwendung einer neuen Version von Python

Es scheint, als sollte es einfach sein, elastischem Bohnenranke zu sagen, eine spätere Version von Python als 2.6 zu verwenden. Ich möchte wirklich kein benutzerdefiniertes AMI erstellen, da dies das Problem zu komplizieren scheint.

Ich brauche Python 2.7.3, und ich brauche virtualenv 1.8.X. Mir ist aufgefallen, dass die Verwendung einer späteren Version von virtualenv als das Bereitstellungs-Tutorial von Amazon (1.7.X) negative Auswirkungen auf 'git aws.push' hat, aber in diesem Fall habe ich aufgrund der Client-Anforderungen keine Option.

Ich habe in dem Erstellen von benutzerdefinierten Containern Befehle sehe in der .ebextensions/* Config, wie:.

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

aber das bricht yum, das in Ordnung sein könnte, aber ich würde es vorziehen, das zu halten System intakt.

Ich könnte python27 mit yum installieren, wie oben gezeigt, und python26 als Standard-Python beibehalten, aber ich weiß nicht, wie ich sicherstellen kann, dass der Server python27 verwendet, um Django zu starten. Eine alternative Frage wäre also: Wie kann ich elastischem Bohnenranke sagen, dass er python27 verwenden soll, um Django anstelle des Standard-Pythons auszuführen? Ich kann python27 leicht als alternatives Python auf dem System installieren, ich muss es nur explizit aufrufen.

Ich hoffe, diese Frage ist nicht zu breit. Ich versuche, mit verschiedenen Winkeln zu kommen, um dieses Problem zu lösen. Danke für jede Hilfe.

+0

Wenn Sie wissen, wo Elastic Beanstalk seine virtualenv Python behält, dann ersetzen Sie diese anstelle der echten. Ich bin mir nicht sicher über Unterschiede in virtualenvs. – Mikhail

+0

Haben Sie Glück dabei? – Andres

Antwort

-2

Ich lief genau in dieses Problem und die Lösung war ziemlich einfach.

Unter der Annahme, dass die Umgebungsvariable PATH Punkte in diesen Ordner:

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

dorthin gehen und bearbeiten Sie die Datei mit dem Namen "eb"

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

In der ersten Zeile, wo es heißt "#!/usr/bin/env python "ändern zu" #!/usr/bin/env python2.7 "

Und dann sollte es dir gut gehen!

+1

Die Frage ist die Frage nach der Bereitstellung, nicht das eb Kommandozeilenwerkzeug – Andres

Verwandte Themen