localhost:5000在MacOS V12(蒙特利)中不可用

2024-08-10Python开发问题
2

本文介绍了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上提供服务。接收方已拥有该端口

您可以:

  1. 关闭AirPlay接收器,或;
  2. 在其他端口上运行服务器(通常是最好的)。

关闭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(蒙特利)中不可用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

在xarray中按单个维度的多个坐标分组
groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)...
2024-08-22 Python开发问题
15

Pandas中的GROUP BY AND SUM不丢失列
Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)...
2024-08-22 Python开发问题
17

GROUP BY+新列+基于条件的前一行抓取值
Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)...
2024-08-22 Python开发问题
18

PANDA中的Groupby算法和插值算法
Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)...
2024-08-22 Python开发问题
11

PANAS-基于列对行进行分组,并将NaN替换为非空值
Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)...
2024-08-22 Python开发问题
10

按10分钟间隔对 pandas 数据帧进行分组
Grouping pandas DataFrame by 10 minute intervals(按10分钟间隔对 pandas 数据帧进行分组)...
2024-08-22 Python开发问题
11