2016-08-02 2 views
0

Ich versuche, meine Flask-Webanwendung mithilfe von AWS EB (Amazon Web Services Elastic Beanstalk) bereitzustellen. Leider habe ich renne in den folgenden Fehler:Ein anderer Flask/AWS WSGIPath-Fehler, speziell: WSGIPath verweist auf eine Datei, die nicht existiert

Your WSGIPath refers to a file that does not exist.

Ich habe bei den Antworten sah here und here; Nach dem ersten Vorschlag änderte nichts (immer noch den gleichen Fehler). Als Referenz wurde bei diesem Fix eine .ebextensions/ethanWebsite-env.config Datei mit dem folgenden Inhalt erstellt, wobei ethanWebsite-env der Name meiner Umgebung ist.

option_settings: 
    "aws:elasticbeanstalk:container:python": 
    WSGIPath: application.py 

Der zweite Link schlägt eb config die EB CLI-Befehl unter Verwendung des WSGIPath Umgebungsvariable zu ändern. Ich habe dies bereits mithilfe der AWS-Web-GUI (im Bereich "Software-Konfiguration" der Registerkarte "Konfiguration" für meine Umgebung) durchgeführt. Es war bereits auf application.py eingestellt, aber ich habe es vergebens zurückgesetzt. Der Fehler, den ich durch den Versuch eb config erhalte, ist vielleicht aufschlussreicher.

sh: -c: line 0: unexpected EOF while looking for matching `'' 
sh: -c: line 1: syntax error: unexpected end of file 

Und falls ich die Umwelt mit eb config ethanWebsite-env konfigurieren angeben, erhalte ich den gleichen Fehler.

Hier ist die Struktur meiner App.

ethan_website/ 
    application.py 
    connect4.py 
    isPrime.py 
    requirements.txt 
    .ebextensions/ 
     ethanWebsite-env.config 
    .elasticbeanstalk/ 
     config.yml 
    static/ 
     (various .css and .js files) 
    templates/ 
     (various .html files) 

ich weggelassen einen flask/ Ordner im Hauptprojektebene, mit vielen Unterordnern, die die Python-Umgebung zu konfigurieren erscheint und nicht relevant zu sein scheinen.

Wenn jemand einen Einblick hat, was das Problem sein könnte, lass es mich wissen. Mein Fehler mit eb config deutet darauf hin, dass es ein Problem mit einer Konfigurationsdatei gibt, aber ich bin mir nicht sicher, wo ich anfangen soll/über den hinaus schauen, den ich bereits hinzugefügt habe. Vielen Dank!

+0

konnte ich dieses Problem beheben, indem Sie eine neue Bereitstellung meiner Anwendung in einer neuen Umgebung, ausschließlich von der EB CLI wie hier beschrieben (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-flask.html) . Ich wünschte immer noch, ich hätte einen Einblick, warum meine bisherige Methode kaputt war. Ich bekomme auch immer noch den gleichen Fehler, wenn ich 'eb config' benutze. –

Antwort

1

Ich weiß nicht, ob dies Ihr Problem löst oder nicht, aber ich hatte das gleiche genaue Problem und ich stieß auf this article. Es wird erläutert, dass der Name des Standardanwendungsobjekts in der flask-App für Elastic Beanstalk application anstelle von app genannt werden sollte.

So zum Beispiel in der Hauptanwendung, sollten Sie die folgende Änderung vornehmen (falls dies noch nicht geschehen):

app = Flask(__name__) 

zu

application = Flask(__name__) 
Verwandte Themen