localhost:5000 unavailable in macOS v12 (Monterey)(localhost:5000在MacOS V12(蒙特利)中不可用)
本文介绍了localhost:5000在MacOS V12(蒙特利)中不可用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我无法访问macOS v12(蒙特雷)(Flask或任何其他)上的本地主机端口5000上的Web服务器。
例如,使用内置HTTP服务器,我无法进入5000端口:
python3 -m http.server 5000
... (stack trace)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 466, in server_bind
self.socket.bind(self.server_address)
OSError: [Errno 48] Address already in use
如果您安装了Flask并且运行了Flask Web服务器,它在启动时不会失败。让我们以最小烧瓶示例代码为例:
# Save as hello.py in the current working directory.
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
然后运行它(前提是您安装了Flask/Python 3):
export FLASK_APP=hello
flask run
输出:
* Running on http://127.0.0.1:5000/
但是,如果您尝试(通过浏览器或使用任何其他方式)访问此服务器,则会被拒绝:
curl -I localhost:5000
HTTP/1.1 403 Forbidden
Content-Length: 0
Server: AirTunes/595.13.1
推荐答案
MacOS蒙特雷介绍了在端口5000上运行的AirPlay Receiver。这会阻止您的Web服务器在端口5000上提供服务。接收方已拥有该端口。
您可以:
- 关闭AirPlay接收器,或;
- 在其他端口上运行服务器(通常是最好的)。
关闭AirPlay接收器
转到系统首选项→共享→取消勾选Airplay接收器。
See more details
您现在应该能够在端口5000上重新运行服务器,并得到响应:
python3 -m http.server 5000
Serving HTTP on :: port 5000 (http://[::]:5000/) ...
在5000以外的其他端口上运行服务器
不再使用端口5000可能更好,因为该端口是为MacOS蒙特雷上的Airplay接收器保留的。
只是为了在不同的端口上运行服务器。不需要关闭Airplay接收器。
python3 -m http.server 4999
或
export FLASK_APP=hello
flask run -p 4999
这篇关于localhost:5000在MacOS V12(蒙特利)中不可用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:localhost:5000在MacOS V12(蒙特利)中不可用


猜你喜欢
- padding='same' 转换为 PyTorch padding=# 2022-01-01
- pytorch 中的自适应池是如何工作的? 2022-07-12
- 如何在 python3 中将 OrderedDict 转换为常规字典 2022-01-01
- 使用Heroku上托管的Selenium登录Instagram时,找不到元素';用户名'; 2022-01-01
- python-m http.server 443--使用SSL? 2022-01-01
- 如何在 Python 的元组列表中对每个元组中的第一个值求和? 2022-01-01
- 沿轴计算直方图 2022-01-01
- python check_output 失败,退出状态为 1,但 Popen 适用于相同的命令 2022-01-01
- 如何将一个类的函数分成多个文件? 2022-01-01
- 分析异常:路径不存在:dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data; 2022-01-01