Ich muss an einer bestehenden Python (Django) -Anwendung arbeiten, die auf AWS Elastic Beanstalk ausgeführt wird. Es scheint, dass alle Anforderungen (von der requirements.txt) in einem virtuellen env installiert sind (ich hoffe ich bin damit einverstanden). Mein Problem ist, dass ich einige Bibliotheken mit yum installiert habe. Meine Abhängigkeiten Config für meine Bohnenstengel Beispiel sieht wie folgt aus:Wie verwendet man virtualenv System-Site-Pakete auf AWS Elastic Beanstalk?
packages:
yum:
python27-devel: []
git: []
nginx: []
pcre-devel: []
freetype-devel: []
libpng-devel: []
postgresql93-devel: []
graphviz-devel: []
blas-devel: []
atlas-devel: []
lapack-devel: []
gcc-c++: []
python27-numpy: []
python27-matplotlib: []
python27-psycopg2: []
Wie Sie sehen, ich explizit einige Python-Bibliotheken wie numpy, matplotlib und psycopg2 installieren, aber da meine Anwendung in einer virtuellen env diese Bibliotheken zu laufen scheint, nicht zugänglich sind für meine App, so stürzt es beim Starten ab. Ich habe diese Art von Fehlern:
Befehl fehlgeschlagen in Instanz. Rückgabecode: 1 Ausgabe: (TRUNCATED) .... 7/site-packages/django/db/backends/postgresql_psycopg2/base.py ", Zeile 20, in raise Unsachgemäßes Konfigurieren (" Fehler beim Laden von psycopg2 module:% s "% e) django.core.exceptions.ImproperlyConfigured: Fehler beim Laden des psycopg2-Moduls: Kein Modul mit dem Namen psycopg2. container_command 01_migrate in .extenxtensions/02-python.config fehlgeschlagen. Weitere Informationen finden Sie in der Datei /var/log/eb-activity.log über die Konsole oder EB CLI.
ich habe gelesen, dass Sie ein virtuelles env erlauben können, um die Systembibliotheken mit der Option System-site-Pakete zugreifen, aber wie so für eine AWS Elastic Beanstalk-Instanz zu tun?
EDIT : Was ich nicht tun möchte, ist die Installation von numpy, matplotlib und psycopg2 mit Pip, da es kompiliert alles und das ist sehr lang. Aus diesem Grund möchte ich diese Bibliotheken mit yum installieren, um eine vorkompilierte Version zu erhalten. Und ich möchte, dass diese Installationen automatisch sind, ich möchte nicht auf der Maschine ssh installieren, um Dinge manuell zu installieren. Hier erscheint mein Problem. :)
Vielen Dank für Ihre Zeit!
(Sorry für mein Englisch, es ist nicht meine Muttersprache)