#工作记录
上篇我们记录到FramePack从克隆到启动调试的保姆级教程,关于启动时会报以下错误的问题,已作出解决:
报错摘录:
(.venv) PS F:\PythonProjects\FramePack> python demo_gradio_fixed.py
Currently enabled native sdp backends: ['flash', 'math', 'mem_efficient', 'cudnn']
Xformers is installed!
Flash Attn is installed!
Sage Attn is installed!
Namespace(share=False, server='0.0.0.0', port=None, inbrowser=False)
Free VRAM 22.759765625 GB
High-VRAM Mode: False
Downloading shards: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 4/4 [00:00<00:00, 1578.29it/s]
Loading checkpoint shards: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 4/4 [00:00<00:00, 6.91it/s]
Fetching 3 files: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<?, ?it/s]
Loading checkpoint shards: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 62.59it/s]
transformer.high_quality_fp32_output_for_inference = True
* Running on local URL: http://0.0.0.0:7860
Traceback (most recent call last):
……省略
raise mapped_exc(message) from exc
httpx.ReadError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
(.venv) PS F:\PythonProjects\FramePack>
解析 http://0.0.0.0:7860
的请求失败了,原因是远程主机强迫关闭了连接,这通常是因为以下几个可能的原因:
可能的原因
-
服务未启动:虽然脚本显示运行成功,但服务可能由于某些原因没有完全启动或监听该端口。
-
网络问题:本地网络环境或防火墙可能阻止了连接。
-
地址不正确:
0.0.0.0
是一个特殊地址,表示绑定到所有网络接口,但需要确认是否真的在运行服务。 -
服务配置问题:服务可能配置为仅在特定接口上运行,而不是在
0.0.0.0
上。
排查方法
-
检查服务是否正常启动:
-
查看终端日志,确认没有其他错误信息。
-
尝试在本地直接访问,如通过
http://localhost:7860
或http://127.0.0.1:7860
访问。
-
-
检查端口是否被占用:
-
在终端运行
netstat -ano | findstr 7860
(Windows) 或lsof -i :7860
(Mac/Linux),查看端口是否被占用。
-
-
检查防火墙设置:
-
确保防火墙没有阻止该端口的访问。
-
-
检查服务配置:
-
查看服务配置文件或代码,确认服务是否正确配置为监听
0.0.0.0:7860
。
-
-
重启服务:
-
尝试停止并重新启动服务,观察是否能正常运行。
-
-
替换地址访问:
-
如果服务确实在本地运行,尝试用
http://localhost:7860
访问,而不是0.0.0.0
。
-
解决方案
打开python demo_gradio_fixed.py(python demo_gradio.py)文件
修改这一行:
大概是在33行左右:
#要修改
parser.add_argument("--server", type=str, default='0.0.0.0')
修改成:
parser.add_argument("--server", type=str, default='127.0.0.1')
然后重新运行 python demo_gradio_fixed.py: