PermissionError: [Errno 13] error while attempting to bind on address (‘127.0.0.1’, 8188)

这个报错通常出现在 ComfyUI 启动时尝试监听本地 8188 端口,但 Windows 认为该端口被系统保留或访问被权限策略拦截。优先检查 8188 是否落入 TCP 排除端口范围,并改用其他端口启动。

快速结论:这个报错通常出现在 ComfyUI 启动时尝试监听本地 8188 端口,但 Windows 认为该端口被系统保留或访问被权限策略拦截。优先检查 8188 是否落入 TCP 排除端口范围,并改用其他端口启动。

适用环境:Windows 便携版 ComfyUI;Windows + Python 3.10 虚拟环境;NVIDIA GeForce RTX 3080 Ti;CUDA 设备 cuda:0;PyTorch 使用 cudaMallocAsync、bfloat16;Issue 中未给出具体 Python 包版本和 CUDA 完整版本号。

最快修复方案:启动时增加 --port 8080(或其他未被占用的端口),Issue 作者确认这样可以正常启动。

注意事项:改端口只是绕过 8188 被系统保留或拦截的问题,不一定能解释根因;Issue 中作者也表示仍不清楚最初原因。网络重置和重启、net stop hns / net start hns 等操作属于社区用户自述有效的经验,未在 Issue 中形成统一验证结论,可优先尝试但需自行承担系统网络配置变更风险。

问题场景

用户在 Windows 上运行 ComfyUI 便携版,执行 python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build 启动服务。启动日志已经完成显存、设备、VAE dtype、自定义节点和模型搜索路径加载,但在 aiohttp 创建本地服务并绑定 127.0.0.1:8188 时失败。

用户已确认 netstat 没有发现 8188 被其他程序占用,也添加了防火墙规则、关闭 Windows Defender、重启系统,问题仍存在。

报错原文

Traceback (most recent call last):
  File "D:\Workspace\ComfyUI_windows_portable\ComfyUI\main.py", line 254, in <module>
    loop.run_until_complete(run(server, address=args.listen, port=args.port, verbose=not args.dont_print_server, call_on_start=call_on_start))
  File "asyncio\base_events.py", line 654, in run_until_complete
  File "D:\Workspace\ComfyUI_windows_portable\ComfyUI\main.py", line 149, in run
    await asyncio.gather(server.start(address, port, verbose, call_on_start), server.publish_loop())
  File "D:\Workspace\ComfyUI_windows_portable\ComfyUI\server.py", line 627, in start
    await site.start()
  File "D:\Workspace\ComfyUI_windows_portable\python_embeded\Lib\site-packages\aiohttp\web_runner.py", line 119, in start
    self._server = await loop.create_server(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "asyncio\base_events.py", line 1536, in create_server
PermissionError: [Errno 13] error while attempting to bind on address ('127.0.0.1', 8188): 액세스 권한에 의해 숨겨진 소 켓에 액세스를 시도했습니다

原因分析

最可能的原因不是 ComfyUI 自身加载失败,而是 Windows 在 TCP 层面阻止或保留了 8188 端口。PermissionError: [Errno 13] error while attempting to bind on address ('127.0.0.1', 8188) 表示绑定本地地址时权限被拒绝。

Issue 中有用户指出,8188 可能被 TCP 协议排除范围保留给其他用途;这种情况下即使 netstat 看不到进程占用,ComfyUI 仍然无法绑定该端口。

另有用户认为,如果重启后临时恢复,很多时候是之前的 ComfyUI 实例仍在某个忘记关闭的窗口中运行;但原 Issue 用户已重启并确认 netstat 无占用,因此这一解释不一定适用于本案例。

环境排查

  • 确认是否使用 Windows 便携版 ComfyUI,启动命令是否为 .\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build。
  • 确认启动参数中是否包含 --port,默认端口是 8188。
  • 用 netstat 检查 8188 是否被其他进程监听,但要注意:没有监听进程并不代表端口没有被系统排除或保留。
  • 用 netsh interface ipv4 show excludedportrange protocol=tcp 检查 8188 是否落入 TCP 排除端口范围。
  • 确认 Windows Defender、防火墙或安全软件是否拦截本地端口绑定;Issue 中用户关闭 Windows Defender 后问题仍存在。
  • 确认是否有残留 ComfyUI 进程或旧窗口仍在运行。
  • Issue 中出现的 Python 环境包括便携版内嵌 Python,以及 Python 3.10 虚拟环境;未提供 PyTorch、CUDA、aiohttp 具体版本号。

解决步骤

  1. 先改用其他端口启动,这是 Issue 作者确认有效的方案:
    .\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --port 8080

    如果 8080 也被占用,可以换成其他未被占用的端口。

  2. 如果希望继续使用 8188,先检查 TCP 排除端口范围:
    netsh interface ipv4 show excludedportrange protocol=tcp

    如果 8188 位于某个排除范围内,说明它被 Windows 保留,此时更稳妥的做法仍是改用其他端口。

  3. 可优先尝试的社区经验方案一:重启系统,或确认之前启动的 ComfyUI 窗口和进程已经关闭,然后用浏览器访问对应端口确认是否已有服务在运行。
  4. 可优先尝试的社区经验方案二:有用户反馈以下命令有效:
    net stop hns
    net start hns

    该操作会停止并重新启动 Host Network Service,可能影响 Windows 容器、网络相关功能,执行前需自行评估风险,建议使用管理员权限并谨慎操作。

  5. 可优先尝试的社区经验方案三:有用户通过重置网络设置后重启解决:
    netsh winsock reset
    netsh int ip reset

    这两条命令来自 Issue 评论中引用的 ChatGPT 建议,执行后需要重启电脑;会重置部分网络配置,可能影响其他网络软件或代理设置,请先确认可接受再操作。

  6. 如果以上方法都不能恢复 8188,优先采用改端口方案,不必继续和 8188 端口冲突。

验证方法

启动命令不再抛出 PermissionError: [Errno 13] error while attempting to bind on address ('127.0.0.1', 8188),并在终端看到 ComfyUI 正常启动日志。随后在浏览器访问 http://127.0.0.1:8080(如果改用了 8080),能够正常打开 ComfyUI 界面,即表示问题已经绕过或解决。

参考来源

Comfy-Org/ComfyUI #3345

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 27581

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注