Es gibt viele Konfigurationsprobleme, die bei Flask auftreten können, die auf AWS bereitgestellt werden. Ich hatte ein ähnliches Problem wie Sie, sodass ich Ihnen zumindest zeigen kann, was ich getan habe, um den WSGI-Fehler zu beheben.
Zunächst können Sie dies ohne den Ordner .exextensions tun (siehe diesen Beitrag here. Und schauen Sie sich die Antwort von davetw12 an. Beachten Sie jedoch, dass, während dies funktioniert, ich bin mir nicht ganz sicher, dass davetw12s Schlussfolgerung über .exextensions ist richtig, basierend auf einigen der folgenden Kommentare). Stattdessen (im Terminal) navigierte ich auf der gleichen Ebene wie mein .elasticbeanstalk-Verzeichnis zu meinem Projekt und verwendete den Befehl eb config
. Dadurch wird eine Liste mit Optionen geöffnet, die Sie zum Konfigurieren Ihrer Bean-Talk-Anwendung festlegen können. Gehen Sie die Optionen durch, bis Sie den WSGI-Pfad gefunden haben. Ich bemerke, dass Sie Ihre auf project/application.py
gesetzt haben, jedoch sollte dies nicht die Ordnerreferenz enthalten, nur application.py
. So sieht es auf meinem Mac im Terminal aus (WSGI-Pfad befindet sich ganz unten).
Beachten Sie, dass, wenn Sie diesen Satz bekommen, wird EB wahrscheinlich erneut bereitstellen. Das ist gut. Lass es.
Sobald Sie diesen Satz erhalten, gehen Sie in Ihre Datei application.py und stellen Sie sicher, dass Sie Ihre App application
anrufen. Zum Beispiel sieht Mine wie folgt aus:
from flask import Flask
from flask import render_template
application = Flask(__name__)
@application.route('/')
@application.route('/index')
def index():
return render_template('index.html',
title='Home')
Dieser nahm den WSGI Wegfehlers weg - obwohl ich noch einige andere Fragen im Anschluss an diese :-) zu beheben hatte Aber das ist eine andere Reihe von Fragen.
Ich habe ein ähnliches Problem, und mit 'eb config 'entdeckte ich, dass WSGIPath nicht in meinen Konfigurationsdaten ist - in der Tat bekomme ich nichts für aws: elasticbeanstalk: container: python. Ich habe es in einer .config-Datei eingerichtet, aber es scheint, als würde es von der gespeicherten Konfiguration im Dashboard überschrieben - das zeigt "WSGIPath: application.py" auf der Startseite an, erlaubt mir aber nicht, es irgendwo zu bearbeiten. Sieht so aus, als müsste ich nur eine application.py erstellen! – Kylotan
Wir hatten ein Problem mit psycopg2 nicht installiert. diese Zeilen in unserem .ebextensions Hinzufügen/01-Datei app.config es fest: Pakete: yum: postgresql93-devel: [] –
ich mit davetw12 Antwort nicht einverstanden, dass ebconfig nicht mehr relevant ist - siehe meinen Kommentar gibt. Ihr verbringt unbeabsichtigt Fehlinformationen. – HaveAGuess