现在报错 ERROR: [Errno 98] … address already in use,意思是 端口 12345 已经被占用了。
这通常是因为你之前的某次尝试(Docker 或者上一次运行的 python 进程)没有没有彻底关闭,它还在后台悄悄运行,占着位置。
请按以下步骤清理端口:
方法一:最快解决(一条命令清理)
直接使用 fuser 命令查找并杀死占用该端口的进程:
sudo fuser -k 12345/tcp
(如果提示 fuser command not found,请运行 sudo apt install psmisc 安装)
执行完上面这行后,再次运行 python main.py 即可。
方法二:手动查找并杀掉进程(如果方法一无效)
查看是谁占用了端口
sudo lsof -i :12345
你会看到类似这样的输出:
Plaintext
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python3 1234 root 3u IPv4 ... 0t0 TCP *:12345 (LISTEN)
注意中间那个 PID (比如上面的 1234)。
强制结束该进程 把下面的 1234 换成你刚才看到的 PID 数字:
kill -9 1234
方法三:检查是否 Docker 在运行(重要)
既然你之前尝试过 Docker 部署,很可能是 Docker 容器还在运行并且占用了端口。
查看运行中的容器
sudo docker ps
如果有容器在运行,停止它
# 停止所有容器(简单粗暴)
sudo docker stop $(sudo docker ps -q)
最后一步:再次启动
清理完端口后,再次运行:
python main.py
这次应该就能看到它稳定运行,并且你可以通过浏览器访问 http://你的IP:12345 了!