我有一個Flask應用程序,用Cloud9 IDE編寫。我在本地運行它:終端中的「python manage.py runserver」。 這然後觸發:Python,Flask:Heroku無法打開(並運行)應用程序
manager.add_command('runserver', Server(
use_debugger = True,
use_reloader = True,
host = os.getenv('IP', '0.0.0.0'),
port = int(os.getenv('PORT', 5000))
)
)
這段代碼位於manage.py文件。
現在我想用Heroku運行它。我完全按照他們的教程。我只是不知道我的Procfile應該是什麼。我寫的,像這樣:
web: gunicorn manage:runserver
推混帳等一切似乎很好地工作。 當我鍵入: 「Heroku的PS:衡量Web = 1」,我在終端得到這樣的:
Scaling dynos... done, now running web at 1:Free.
當我鍵入 「Heroku的開放」,我得到這個錯誤:
Opening fierce-spire-3069... xprop: unable to open display ''
xprop: unable to open display ''
/usr/bin/xdg-open: 461: /usr/bin/xdg-open: links2: not found
/usr/bin/xdg-open: 461: /usr/bin/xdg-open: links: not found
/usr/bin/xdg-open: 461: /usr/bin/xdg-open: lynx: not found
/usr/bin/xdg-open: 461: /usr/bin/xdg-open: w3m: not found
xdg-open: no method available for opening 'https://fierce-spire-3069.herokuapp.com/'
done
所以,我的應用程序無法打開。 當我用Heroku網站打開它時,出現一條錯誤消息。這是我在原木中發現的:
2015-12-29T20:15:06.399443+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=fierce-spire-3069.herokuapp.com request_id=c5d76e45-5d56-45f4-a2bc-75bd7fc08b7f fwd="81.82.128.183" dyno= connect= service= status=503 bytes=
我在做什麼錯?
編輯
我改變了我的個人資料如下:
web: python manage.py runserver "0.0.0.0:5000"
在Heroku的日誌中的上述錯誤消息已不存在,但有一個新問題:
2015-12-29T21:30:37.938957+00:00 app[web.1]: from tsb import app
2015-12-29T21:30:37.938955+00:00 app[web.1]: File "manage.py", line 7, in <module>
2015-12-29T21:30:37.939002+00:00 app[web.1]: ImportError: No module named tsb
這是指manage.py代碼的這一部分:
from tsb import app
「tsb」是存儲我所有項目文件的文件夾,它是項目文件夾。爲什麼不能導入?
不要在生產中使用內置的開發服務器,尤其是啓用了調試器的情況下。 – davidism
你是什麼意思?我不知道該怎麼做ImortError。 – Vincent
我的意思是不要在生產中使用它,它既不安全也不高效。我沒有評論導入錯誤。 – davidism