python - OSError:[Errno 48] 地址已在使用中
问题描述
我正在尝试从 Mac 终端设置服务器。
我已经在端口 5000 上建立了连接,并希望5002
使用以下命令打开另一个端口:
python Blockchain.py -p 5002
但这给出了错误:
OSError:[Errno 48] 地址已在使用中
我试图验证端口 5002 是否已打开并正在侦听。所以我运行 shell 命令lsof -i:5002
但它没有返回。
堆栈跟踪
错误日志和堆栈跟踪附在下面:
Traceback (most recent call last):
File "Blockchain.py", line 290, in <module>
app.run(host='0.0.0.0', port=5000)
File "/anaconda/envs/blockchain/lib/python3.6/site-packages/flask/app.py", line 841, in run
run_simple(host, port, self, **options)
File "/anaconda/envs/blockchain/lib/python3.6/site-packages/werkzeug/serving.py", line 814, in run_simple
inner()
File "/anaconda/envs/blockchain/lib/python3.6/site-packages/werkzeug/serving.py", line 774, in inner
fd=fd)
File "/anaconda/envs/blockchain/lib/python3.6/site-packages/werkzeug/serving.py", line 666, in make_server
passthrough_errors, ssl_context, fd=fd)
File "/anaconda/envs/blockchain/lib/python3.6/site-packages/werkzeug/serving.py", line 577, in __init__
self.address_family), handler)
File "/anaconda/envs/blockchain/lib/python3.6/socketserver.py", line 453, in __init__
self.server_bind()
File "/anaconda/envs/blockchain/lib/python3.6/http/server.py", line 136, in server_bind
socketserver.TCPServer.server_bind(self)
File "/anaconda/envs/blockchain/lib/python3.6/socketserver.py", line 467, in server_bind
self.socket.bind(self.server_address)
OSError: [Errno 48] Address already in use
研究
我在同一个问题上提到了各种答案:
我试过的
另外,我尝试了以下方法来解决问题:
- 重启终端
- 重新启动 PyCharm
- 在不同的套接字上运行(给出相同的错误)。
这些似乎都不起作用。我对 Python 还很陌生。
任何帮助表示赞赏。
解决方案
在尝试实现DeepSpace 建议的答案时,我偶然发现了以下答案:
Python - 如何从同一台客户端机器运行多个烧瓶应用程序
要在不同的机器上运行 Flask 应用程序,请使用:
export FLASK_APP=Blockchain.py
flask run --host 0.0.0.0 --port 5000
接下来,打开另一个终端并使用:
export FLASK_APP=Blockchain.py
flask run --host 0.0.0.0 --port 5001
致谢:用户metmirr
推荐阅读
- git - 过滤 git diff 以显示带有 M 和 A 的两个文件夹
- php - 应用程序池挂起并继续加载
- excel - Power BI - 使用 M 添加列以计算 2 年的数据
- java - 无法使用 ScrollPane 滚动充满标签的 VBox
- java - 使用批处理脚本中的参数运行 exe 与从应用程序运行
- javascript - 如何将上传进度条添加到Angular6中的文件上传
- r - 在 y 轴上记录和中断 (ggplot2)
- selenium-webdriver - 对黄瓜功能文件中的所有场景都使用 webDriver 的单个实例是否可以接受
- linux - 重现`名称解析中的临时失败`
- php - 查询不起作用 - 打印数组值而不是在查询中使用它