2017-03-16 5 views
1

Image of application after launching Ich habe eine Python-App mit Flasgframework entwickelt, ich bin die gleiche in Heroku bereitstellen, aber ich bekomme den Anwendungsfehler nach dem erfolgreichen Build. Meine App läuft in localhost. Was ist das Problem, wo ich falsch liege und wie das Problem gelöst werden kann?Warum meine Anwendung nicht in Heroku läuft, nachdem ich Build erfolgreich erstellt habe

procfile Inhalt:

web: python Flask/app.py, ich habe auch versucht, web: Python app.py aber es hat nicht funktioniert.

Requirments.txt:

Kolben == 0,12

Genauer gesagt ich nicht gunicorn bin mit.

LogFile Details in Heroku:

Python app detected 
-----> Installing python-2.7.13 
    $ pip install -r requirements.txt 
    Collecting flask==0.12 (from -r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1)) 
     Downloading Flask-0.12-py2.py3-none-any.whl (82kB) 
    Collecting itsdangerous>=0.21 (from flask==0.12->-r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1)) 
    Downloading itsdangerous-0.24.tar.gz (46kB) 
    Collecting Werkzeug>=0.7 (from flask==0.12->-r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1)) 
    Downloading Werkzeug-0.12.1-py2.py3-none-any.whl (312kB) 
    Collecting Jinja2>=2.4 (from flask==0.12->-r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1)) 
    Downloading Jinja2-2.9.5-py2.py3-none-any.whl (340kB) 
    Collecting click>=2.0 (from flask==0.12->-r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1)) 
    Downloading click-6.7-py2.py3-none-any.whl (71kB) 
    Collecting MarkupSafe>=0.23 (from Jinja2>=2.4->flask==0.12->-r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1)) 
    Downloading MarkupSafe-1.0.tar.gz 
    Installing collected packages: itsdangerous, Werkzeug, MarkupSafe, Jinja2, click, flask 
    Running setup.py install for itsdangerous: started 
     Running setup.py install for itsdangerous: finished with status 'done' 
    Running setup.py install for MarkupSafe: started 
     Running setup.py install for MarkupSafe: finished with status 'done' 
    Successfully installed Jinja2-2.9.5 MarkupSafe-1.0 Werkzeug-0.12.1 click-6.7 flask-0.12 itsdangerous-0.24 
-----> Discovering process types 
    Procfile declares types -> web 
-----> Compressing... 
    Done: 37.7M 
-----> Launching... 
    Released v3 
    https://guarded-tundra-18526.herokuapp.com/ deployed to Heroku 

LogFile zeigt keine Fehler. Warum kann ich meine App nicht ausführen?

+0

Und was passiert, wenn Sie versuchen, Ihre App zu starten? Haben Sie Fehler? Können Sie Fehlerprotokolle posten? –

+0

Ich habe bereits LogFie von Heroku gepostet und es zeigt keinen Fehler selbst die App wird gestartet, danach gibt es einen Anwendungsfehler. –

+0

Führen Sie 'heroku logs --tail' in einem anderen Terminal aus, um zu sehen, ob der Befehl Procfile beim Start Fehler verursacht. – brennan

Antwort

0

Dies kann ein Problem mit den Host- und Port-Parametern für die "run" -Methode der Flask-Instanz (App) sein.

Stellen Sie den Host auf „0.0.0.0“ anstelle von „127.0.0.1“ jede IP zu ermöglichen, auf die App zugreifen (und nicht nur lokal)

Der Port ist standardmäßig 5000 in der Flasche aber Heroku dynamisch vergibt die App ein Port so hart Codierung wird es nicht funktionieren.

Führen der App wie folgt:

if __name__ == "__main__": 
    port = int(os.environ.get("PORT", 5000)) 
    app.run(host="0.0.0.0", port=port) 

Der Port kann dann aus dem Heroku PORT env var erhalten werden.

Verwandte Themen