python - Heroku 应用程序无法运行,产生两个错误:错误 7 和错误 98
问题描述
我正在尝试仅使用 Plotly Go 情节来运行 Heroku 应用程序的第一遍。我可以在本地运行它,但是当我尝试在 Heroku 上运行它时出现此错误。
我的 Python 文件 (app.py) 如下所示:
import plotly.graph_objects as go
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import plotly.graph_objects as goimport dash
import dash_core_components as dcc
import dash_html_components as html
# Read data from excel and create figure.
app = dash.Dash()
server = app.server
app.layout = html.Div([
dcc.Graph(figure=fig1)
])
app.run_server(debug=True, use_reloader=False)
我的 Procfile 看起来像这样:
web: gunicorn app:server
我的Requirements.txt 看起来是这样的:
Brotli==1.0.9
click==8.0.0
colorama==0.4.4
cycler==0.10.0
dash==1.20.0
dash-core-components==1.16.0
dash-html-components==1.1.3
dash-renderer==1.9.1
dash-table==4.11.3
et-xmlfile==1.1.0
Flask==2.0.0
Flask-Compress==1.9.0
future==0.18.2
gunicorn==20.0.4
itsdangerous==2.0.0
Jinja2==3.0.0
kiwisolver==1.3.1
MarkupSafe==2.0.0
matplotlib==3.4.2
numpy==1.20.3
openpyxl==3.0.7
pandas==1.2.4
Pillow==8.2.0
plotly==4.14.3
pyparsing==2.4.7
python-dateutil==2.8.1
pytz==2021.1
retrying==1.3.3
six==1.16.0
Werkzeug==2.0.0
xlrd==2.0.1
Heroku错误是这样的:
2021-05-15T04:38:04.073197+00:00 app[web.1]: self.load_wsgi()
2021-05-15T04:38:04.073197+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
2021-05-15T04:38:04.073197+00:00 app[web.1]: self.wsgi = self.app.wsgi()
2021-05-15T04:38:04.073198+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
2021-05-15T04:38:04.073198+00:00 app[web.1]: self.callable = self.load()
2021-05-15T04:38:04.073199+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
2021-05-15T04:38:04.073199+00:00 app[web.1]: return self.load_wsgiapp()
2021-05-15T04:38:04.073199+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
2021-05-15T04:38:04.073200+00:00 app[web.1]: return util.import_app(self.app_uri)
2021-05-15T04:38:04.073200+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/util.py", line 358, in import_app
2021-05-15T04:38:04.073200+00:00 app[web.1]: mod = importlib.import_module(module)
2021-05-15T04:38:04.073201+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/importlib/__init__.py", line 127, in import_module
2021-05-15T04:38:04.073202+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)
2021-05-15T04:38:04.073202+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
2021-05-15T04:38:04.073203+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
2021-05-15T04:38:04.073203+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
2021-05-15T04:38:04.073203+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
2021-05-15T04:38:04.073204+00:00 app[web.1]: File "<frozen importlib._bootstrap_external>", line 855, in exec_module
2021-05-15T04:38:04.073204+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
2021-05-15T04:38:04.073204+00:00 app[web.1]: File "/app/app.py", line 69, in <module>
2021-05-15T04:38:04.073205+00:00 app[web.1]: app.run_server(debug=True, use_reloader=False)
2021-05-15T04:38:04.073205+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/dash/dash.py", line 1718, in run_server
2021-05-15T04:38:04.073206+00:00 app[web.1]: self.server.run(host=host, port=port, debug=debug, **flask_run_options)
2021-05-15T04:38:04.073206+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/flask/app.py", line 920, in run
2021-05-15T04:38:04.073206+00:00 app[web.1]: run_simple(t.cast(str, host), port, self, **options)
2021-05-15T04:38:04.073207+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/werkzeug/serving.py", line 1008, in run_simple
2021-05-15T04:38:04.073207+00:00 app[web.1]: inner()
2021-05-15T04:38:04.073208+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/werkzeug/serving.py", line 948, in inner
2021-05-15T04:38:04.073208+00:00 app[web.1]: srv = make_server(
2021-05-15T04:38:04.073208+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/werkzeug/serving.py", line 780, in make_server
2021-05-15T04:38:04.073209+00:00 app[web.1]: return ThreadedWSGIServer(
2021-05-15T04:38:04.073209+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/werkzeug/serving.py", line 686, in __init__
2021-05-15T04:38:04.073209+00:00 app[web.1]: super().__init__(server_address, handler) # type: ignore
2021-05-15T04:38:04.073210+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/socketserver.py", line 452, in __init__
2021-05-15T04:38:04.073210+00:00 app[web.1]: self.server_bind()
2021-05-15T04:38:04.073210+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/http/server.py", line 138, in server_bind
2021-05-15T04:38:04.073211+00:00 app[web.1]: socketserver.TCPServer.server_bind(self)
2021-05-15T04:38:04.073211+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/socketserver.py", line 466, in server_bind
2021-05-15T04:38:04.073211+00:00 app[web.1]: self.socket.bind(self.server_address)
2021-05-15T04:38:04.073212+00:00 app[web.1]: OSError: [Errno 98] Address already in use
2021-05-15T04:38:04.073387+00:00 app[web.1]: [2021-05-15 04:38:04 +0000] [15] [INFO] Worker exiting (pid: 15)
2021-05-15T04:38:04.263801+00:00 app[web.1]: Dash is running on http://127.0.0.1:50215/
2021-05-15T04:38:04.263803+00:00 app[web.1]:
2021-05-15T04:38:04.264238+00:00 app[web.1]: * Serving Flask app 'gunicorn' (lazy loading)
2021-05-15T04:38:04.264292+00:00 app[web.1]: * Environment: production
2021-05-15T04:38:04.264391+00:00 app[web.1]: WARNING: This is a development server. Do not use it in a production deployment.
2021-05-15T04:38:04.264465+00:00 app[web.1]: Use a production WSGI server instead.
2021-05-15T04:38:04.264520+00:00 app[web.1]: * Debug mode: on
2021-05-15T04:38:04.276929+00:00 app[web.1]: [2021-05-15 04:38:04 +0000] [7] [ERROR] Exception in worker process
2021-05-15T04:38:04.276931+00:00 app[web.1]: Traceback (most recent call last):
2021-05-15T04:38:04.276943+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
2021-05-15T04:38:04.276943+00:00 app[web.1]: worker.init_process()
2021-05-15T04:38:04.276944+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/workers/base.py", line 119, in init_process
2021-05-15T04:38:04.276944+00:00 app[web.1]: self.load_wsgi()
2021-05-15T04:38:04.276944+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
2021-05-15T04:38:04.276945+00:00 app[web.1]: self.wsgi = self.app.wsgi()
2021-05-15T04:38:04.276945+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
2021-05-15T04:38:04.276945+00:00 app[web.1]: self.callable = self.load()
2021-05-15T04:38:04.276946+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
2021-05-15T04:38:04.276946+00:00 app[web.1]: return self.load_wsgiapp()
2021-05-15T04:38:04.276946+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
2021-05-15T04:38:04.276947+00:00 app[web.1]: return util.import_app(self.app_uri)
2021-05-15T04:38:04.276947+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/gunicorn/util.py", line 358, in import_app
2021-05-15T04:38:04.276948+00:00 app[web.1]: mod = importlib.import_module(module)
2021-05-15T04:38:04.276948+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/importlib/__init__.py", line 127, in import_module
2021-05-15T04:38:04.276949+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)
2021-05-15T04:38:04.276949+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
2021-05-15T04:38:04.276950+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
2021-05-15T04:38:04.276950+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
2021-05-15T04:38:04.276950+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
2021-05-15T04:38:04.276951+00:00 app[web.1]: File "<frozen importlib._bootstrap_external>", line 855, in exec_module
2021-05-15T04:38:04.276951+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
2021-05-15T04:38:04.276951+00:00 app[web.1]: File "/app/app.py", line 69, in <module>
2021-05-15T04:38:04.276952+00:00 app[web.1]: app.run_server(debug=True, use_reloader=False)
2021-05-15T04:38:04.276952+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/dash/dash.py", line 1718, in run_server
2021-05-15T04:38:04.276953+00:00 app[web.1]: self.server.run(host=host, port=port, debug=debug, **flask_run_options)
2021-05-15T04:38:04.276953+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/flask/app.py", line 920, in run
2021-05-15T04:38:04.276953+00:00 app[web.1]: run_simple(t.cast(str, host), port, self, **options)
2021-05-15T04:38:04.276954+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/werkzeug/serving.py", line 1008, in run_simple
2021-05-15T04:38:04.276954+00:00 app[web.1]: inner()
2021-05-15T04:38:04.276955+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/werkzeug/serving.py", line 948, in inner
2021-05-15T04:38:04.276955+00:00 app[web.1]: srv = make_server(
2021-05-15T04:38:04.276955+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/werkzeug/serving.py", line 780, in make_server
2021-05-15T04:38:04.276956+00:00 app[web.1]: return ThreadedWSGIServer(
2021-05-15T04:38:04.276956+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/site-packages/werkzeug/serving.py", line 686, in __init__
2021-05-15T04:38:04.276956+00:00 app[web.1]: super().__init__(server_address, handler) # type: ignore
2021-05-15T04:38:04.276957+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/socketserver.py", line 452, in __init__
2021-05-15T04:38:04.276958+00:00 app[web.1]: self.server_bind()
2021-05-15T04:38:04.276958+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/http/server.py", line 138, in server_bind
2021-05-15T04:38:04.276958+00:00 app[web.1]: socketserver.TCPServer.server_bind(self)
2021-05-15T04:38:04.276959+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.9/socketserver.py", line 466, in server_bind
2021-05-15T04:38:04.276959+00:00 app[web.1]: self.socket.bind(self.server_address)
2021-05-15T04:38:04.276959+00:00 app[web.1]: OSError: [Errno 98] Address already in use
2021-05-15T04:38:04.277064+00:00 app[web.1]: [2021-05-15 04:38:04 +0000] [7] [INFO] Worker exiting (pid: 7)
2021-05-15T04:38:04.575839+00:00 app[web.1]: [2021-05-15 04:38:04 +0000] [4] [INFO] Shutting down: Master
2021-05-15T04:38:04.575993+00:00 app[web.1]: [2021-05-15 04:38:04 +0000] [4] [INFO] Reason: Worker failed to boot.
2021-05-15T04:38:04.698885+00:00 heroku[web.1]: Process exited with status 3
2021-05-15T04:38:04.801270+00:00 heroku[web.1]: State changed from up to crashed
2021-05-15T05:14:27.898553+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=anshuman-mercury.herokuapp.com request_id=32e2d0e3-d88c-478b-9e75-29e0d41bdfce fwd="128.106.73.27" dyno= connect= service= status=503 bytes= protocol=https
2021-05-15T05:14:28.244738+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=anshuman-mercury.herokuapp.com request_id=25ae9c12-aabd-438c-8b9b-69f139d7f6c7 fwd="128.106.73.27" dyno= connect= service= status=503 bytes= protocol=https
我用谷歌搜索,错误 98,地址已在使用中并尝试了这个:
但是在我在 CMD 上运行“neststat”命令后什么也没发生。
我试过这个:
但它说,“ps 不被识别为内部或外部命令”。我有 Windows 10。
任何帮助将不胜感激。
解决方案
推荐阅读
- subdomain - 子域处理问题。想要取消索引除一个子域之外的所有其他子域
- flutter - 当 NetworkImage 或 FileImage 可以重新定义时,结果变量的类型是什么?
- python - 如何根据每个区间的特定条件将数据标记为异常
- cmake - 如何正确使用 OBJECT_DEPENDS 指定非源依赖项?
- html - 关闭模态后视频继续播放
- java - kafka 流状态存储保存在哪里?
- refresh - Excel Power Query 数据加载太慢
- stylecop - 使用 Stylecop.Analyzer 为项目创建可自定义的规则集
- java - 继承练习
- snowflake-cloud-data-platform - 为什么两个字符串不匹配,尽管它们完全相同?