繁体   English   中英

Python Dash 应用程序:Heroku 应用程序错误

[英]Python Dash App: Heroku Application Error

所以我正在构建一个仪表板应用程序并使用 Heroku 来托管。 你可以在这里查看我的代码: 我的代码

该网站可以在此处找到: covid19-report.herokuapp.com (我想制作一个 covid19 仪表板只是为了使用 plotly dash 练习数据分析)

基本上我遵循了此处找到的 heroku 的 Dash 部署文档: Dash 部署文档

该应用程序在本地运行良好,但我真的不确定为什么它在 Heroku 上失败。

下面是错误信息。 它看起来像一些 JSON 错误,但它再次在本地运行良好。 对此有所了解会有所帮助。 谢谢!

2020-04-18T04:31:17.714587+00:00 heroku[web.1]: State changed from crashed to starting
2020-04-18T04:31:27.701650+00:00 app[web.1]: [2020-04-18 04:31:27 +0000] [4] [INFO] Starting gunicorn 20.0.4
2020-04-18T04:31:27.702418+00:00 app[web.1]: [2020-04-18 04:31:27 +0000] [4] [INFO] Listening at: http://0.0.0.0:55039 (4)
2020-04-18T04:31:27.702566+00:00 app[web.1]: [2020-04-18 04:31:27 +0000] [4] [INFO] Using worker: sync
2020-04-18T04:31:27.708762+00:00 app[web.1]: [2020-04-18 04:31:27 +0000] [10] [INFO] Booting worker with pid: 10
2020-04-18T04:31:27.785970+00:00 app[web.1]: [2020-04-18 04:31:27 +0000] [11] [INFO] Booting worker with pid: 11
2020-04-18T04:31:29.269562+00:00 heroku[web.1]: State changed from starting to up
2020-04-18T04:31:45.266825+00:00 app[web.1]: [2020-04-18 04:31:45 +0000] [10] [ERROR] Exception in worker process
2020-04-18T04:31:45.266850+00:00 app[web.1]: Traceback (most recent call last):
2020-04-18T04:31:45.266851+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", lin
e 583, in spawn_worker
2020-04-18T04:31:45.266852+00:00 app[web.1]: worker.init_process()
2020-04-18T04:31:45.266852+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py"
, line 119, in init_process

2020-04-18T04:31:45.266853+00:00 app[web.1]: self.load_wsgi()
2020-04-18T04:31:45.266853+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py"
, line 144, in load_wsgi
2020-04-18T04:31:45.266853+00:00 app[web.1]: self.wsgi = self.app.wsgi()
2020-04-18T04:31:45.266854+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/base.py", li
ne 67, in wsgi
2020-04-18T04:31:45.266854+00:00 app[web.1]: self.callable = self.load()
2020-04-18T04:31:45.266855+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py",
 line 49, in load
2020-04-18T04:31:45.266855+00:00 app[web.1]: return self.load_wsgiapp()
2020-04-18T04:31:45.266855+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py",
 line 39, in load_wsgiapp
2020-04-18T04:31:45.266855+00:00 app[web.1]: return util.import_app(self.app_uri)
2020-04-18T04:31:45.266856+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/util.py", line 3
58, in import_app
2020-04-18T04:31:45.266856+00:00 app[web.1]: mod = importlib.import_module(module)
2020-04-18T04:31:45.266857+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/importlib/__init__.py", line 126, in im
port_module
2020-04-18T04:31:45.266857+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)
2020-04-18T04:31:45.266858+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 994, in _gcd_import
2020-04-18T04:31:45.266858+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 971, in _find_and_load
2020-04-18T04:31:45.266858+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
2020-04-18T04:31:45.266858+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
2020-04-18T04:31:45.266859+00:00 app[web.1]: File "<frozen importlib._bootstrap_external>", line 678, in exec_module
2020-04-18T04:31:45.266859+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
2020-04-18T04:31:45.266859+00:00 app[web.1]: File "/app/app.py", line 42, in <module>
2020-04-18T04:31:45.266860+00:00 app[web.1]: initial_data = pd.DataFrame(r.json())[['Date', 'Confirmed', 'Deaths', 'Recovere
d']].groupby('Date').sum().reset_index()
2020-04-18T04:31:45.266860+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/requests/models.py", line
 898, in json
2020-04-18T04:31:45.266861+00:00 app[web.1]: return complexjson.loads(self.text, **kwargs)

2020-04-18T04:31:45.266861+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/json/__init__.py", line 354, in loads
2020-04-18T04:31:45.266861+00:00 app[web.1]: return _default_decoder.decode(s)
2020-04-18T04:31:45.266862+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 339, in decode
2020-04-18T04:31:45.266862+00:00 app[web.1]: obj, end = self.raw_decode(s, idx=_w(s, 0).end())
2020-04-18T04:31:45.266862+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 357, in raw_deco
de
2020-04-18T04:31:45.266863+00:00 app[web.1]: raise JSONDecodeError("Expecting value", s, err.value) from None
2020-04-18T04:31:45.266871+00:00 app[web.1]: json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
2020-04-18T04:31:45.267475+00:00 app[web.1]: [2020-04-18 04:31:45 +0000] [10] [INFO] Worker exiting (pid: 10)
2020-04-18T04:31:45.306244+00:00 app[web.1]: [2020-04-18 04:31:45 +0000] [11] [ERROR] Exception in worker process
2020-04-18T04:31:45.306250+00:00 app[web.1]: Traceback (most recent call last):
2020-04-18T04:31:45.306251+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", lin
e 583, in spawn_worker
2020-04-18T04:31:45.306252+00:00 app[web.1]: worker.init_process()
2020-04-18T04:31:45.306252+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py"
, line 119, in init_process
2020-04-18T04:31:45.306253+00:00 app[web.1]: self.load_wsgi()
2020-04-18T04:31:45.306253+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py"
2020-04-18T04:31:45.306253+00:00 app[web.1]: self.load_wsgi()
2020-04-18T04:31:45.306253+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/workers/base.py"
, line 144, in load_wsgi
2020-04-18T04:31:45.306253+00:00 app[web.1]: self.wsgi = self.app.wsgi()
2020-04-18T04:31:45.306254+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/base.py", li
ne 67, in wsgi
2020-04-18T04:31:45.306254+00:00 app[web.1]: self.callable = self.load()
2020-04-18T04:31:45.306255+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py",
 line 49, in load
2020-04-18T04:31:45.306255+00:00 app[web.1]: return self.load_wsgiapp()
2020-04-18T04:31:45.306255+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py",
 line 39, in load_wsgiapp
2020-04-18T04:31:45.306256+00:00 app[web.1]: return util.import_app(self.app_uri)
2020-04-18T04:31:45.306256+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/util.py", line 3

58, in import_app
2020-04-18T04:31:45.306256+00:00 app[web.1]: mod = importlib.import_module(module)
2020-04-18T04:31:45.306257+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/importlib/__init__.py", line 126, in im
port_module
2020-04-18T04:31:45.306258+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)
2020-04-18T04:31:45.306258+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 994, in _gcd_import
2020-04-18T04:31:45.306259+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 971, in _find_and_load
2020-04-18T04:31:45.306259+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
2020-04-18T04:31:45.306259+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
2020-04-18T04:31:45.306260+00:00 app[web.1]: File "<frozen importlib._bootstrap_external>", line 678, in exec_module
2020-04-18T04:31:45.306260+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
2020-04-18T04:31:45.306260+00:00 app[web.1]: File "/app/app.py", line 42, in <module>
2020-04-18T04:31:45.306261+00:00 app[web.1]: initial_data = pd.DataFrame(r.json())[['Date', 'Confirmed', 'Deaths', 'Recovere
d']].groupby('Date').sum().reset_index()
2020-04-18T04:31:45.306262+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/requests/models.py", line
 898, in json
2020-04-18T04:31:45.306262+00:00 app[web.1]: return complexjson.loads(self.text, **kwargs)
2020-04-18T04:31:45.306262+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/json/__init__.py", line 354, in loads
2020-04-18T04:31:45.306262+00:00 app[web.1]: return _default_decoder.decode(s)
2020-04-18T04:31:45.306263+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 339, in decode
2020-04-18T04:31:45.306263+00:00 app[web.1]: obj, end = self.raw_decode(s, idx=_w(s, 0).end())
2020-04-18T04:31:45.306264+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 357, in raw_deco
de
2020-04-18T04:31:45.306264+00:00 app[web.1]: raise JSONDecodeError("Expecting value", s, err.value) from None
2020-04-18T04:31:45.306273+00:00 app[web.1]: json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
2020-04-18T04:31:45.307523+00:00 app[web.1]: [2020-04-18 04:31:45 +0000] [11] [INFO] Worker exiting (pid: 11)
2020-04-18T04:31:45.664281+00:00 app[web.1]: [2020-04-18 04:31:45 +0000] [4] [INFO] Shutting down: Master
2020-04-18T04:31:45.664592+00:00 app[web.1]: [2020-04-18 04:31:45 +0000] [4] [INFO] Reason: Worker failed to boot.
2020-04-18T04:31:45.805719+00:00 heroku[web.1]: State changed from up to crashed
2020-04-18T04:38:59.314463+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=covid19-repor
t.herokuapp.com request_id=b48e8c2e-9724-47fd-9a55-e786cb0c1508 fwd="209.17.96.74" dyno= connect= service= status=503 bytes=
 protocol=https

所以我验证了这一点,我很确定这条线是问题所在。 也许不使用 ip api,它在托管计算机上不起作用。 尝试使用默认的初始国家/地区

编辑:你也可以试试这个,一旦你得到客户端的 ip 试试这个 api https://ipapi.co/ip-address/json

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM