ComfyUI 启动时端口被占用(PermissionError [winerror 10013])解决方案
适用于 Windows 系统(尤其是 ComfyUI Portable 版 和 源代码部署版),常见端口:8188、8189 等。
症状
启动 ComfyUI 时控制台报错:

PermissionError: [Errno 13] error while attempting to bind on address ('127.0.0.1', 8188): [winerror 10013] 以一种访问权限不允许的方式做了一个访问套子套接字的尝试。
即使 netstat 查不到占用,依然报错。
原因分类及解决方法
- 真正被其他进程占用 (最常见)
-
操作:
netstat -ano | findstr :8188输出类似
TCP 127.0.0.1:8188 0.0.0.0:0 LISTENING 12345 -
解决:
taskkill /PID 12345 /F(替换为实际 PID,也有可能查不到占用,解决方案请往下看)
-

-
Windows 系统预留端口范围(Hyper-V / WSL2 / Docker 导致)
-
检查:
netsh int ipv4 show excludedportrange protocol=tcp如果目标端口(如 8188)落在某个范围(如 8126-8225)内,就是这个原因。
-
快速解决(推荐):
换一个不在预留范围内的端口,例如:
-
8080
-
8180
-
8888(最常用)
-
9000
-
9999
修改启动 bat 文件(例如 run_nvidia_gpu.bat):.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --listen --port 8888
浏览器访问:http://127.0.0.1:8888
-
-
彻底解决(不建议/一般重启或重新指定端口也可以解决):
关闭导致端口预留的功能(需重启电脑):
- Win + R → optionalfeatures
- 取消勾选:
- Hyper-V(所有子选项)
- 适用于 Linux 的 Windows 子系统
- 虚拟机平台
- 重启后预留范围消失,可继续用 8188
-
-
权限或安全软件拦截
- 解决:
- 右键启动 bat 文件 → 以管理员身份运行
- 临时关闭杀毒软件(360、火绒、Windows Defender 等)
- 将 ComfyUI 文件夹加入杀毒白名单
- 解决:
-
旧 ComfyUI 进程残留
- 任务管理器 → 详情 → 结束所有 python.exe 或 python_embeded 相关进程
-
启动参数冲突
-
先去掉
--listen测试(只本地访问):.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --port 8888成功后再加回来
-
推荐的永久配置(最稳定)
-
在 main.py 中将启动端口永久改为 8888(很少被系统预留)
-
若不想修改 main.py 文件,也可新建启动 bat 文件指定端口,内容示例:
@echo off cd /d H:\PythonProjects1\Win_ComfyUI .\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --listen --port 8888 pause -
浏览器快捷方式目标改为:http://127.0.0.1:8888
小贴士
- 如果你不需要 WSL2、Docker Desktop 或 Hyper-V,关闭它们是最干净的解决方式。
- 端口换成 8888 或其他端口号后,几乎不会再遇到这个问题,如再遇到也只用灵活处理即可。
记下来,下次直接换端口或杀进程,1 分钟解决问题!祝你使用愉快~