ComfyUI启动依赖检查问题解决总结报告
此过程虽不影响最终使用,但显著延长了启动时间,且此现象在之前版本中并未出现。经深入分析,确定问题根源在于 ComfyUI-Index-TTS。近期,每次启动 ComfyUI 时,命令行界面都会输出大量。ComfyUI 启动时会无条件扫描每个节点的。
·
ComfyUI启动依赖检查问题解决总结报告
一、 问题描述
近期,每次启动 ComfyUI 时,命令行界面都会输出大量 Requirement already satisfied 的日志信息,并执行 opencv 包替换操作。此过程虽不影响最终使用,但显著延长了启动时间,且此现象在之前版本中并未出现。
关键日志特征:
- 反复检查
ComfyUI-Index-TTS节点的依赖(如soxr,librosa,omegaconf等) - 每次均执行包替换:
Replacing package opencv-python with opencv-contrib-python-headless
二、 根本原因分析
经深入分析,确定问题根源在于 ComfyUI-Index-TTS 自定义节点中的 requirements.txt 文件设计。
-
平台条件依赖语句:
该文件包含如下内容:pynini==2.1.6; platform_system!="Windows" WeTextProcessing>=1.0.3; platform_system!="Windows"; platform_system!="Windows"意为“仅在非 Windows 系统上安装”。- 在 Windows 系统上,这些包永远不会被安装。
-
ComfyUI 检查机制:
ComfyUI 启动时会无条件扫描每个节点的requirements.txt并执行pip install -r requirements.txt。- 尽管最终不会安装这些包,但
pip仍需每次解析和执行条件判断。 - 这个过程触发了完整的依赖检查流程,导致每次启动都输出日志并执行环境检查。
- 尽管最终不会安装这些包,但
三、 解决方案与实施
- 方案一:创建 Windows 专用依赖文件。
- 操作:
a. 在ComfyUI-Index-TTS节点目录下创建新文件requirements_windows.txt。
b. 内容仅保留在 Windows 系统上实际需要安装的包:
c. 重命名原文件torch>=1.12.0 numpy>=1.20.0 scipy>=1.7.0 librosa>=0.10.0 soundfile>=0.10.0 PyYAML>=6.0 omegaconf>=2.3.0requirements.txt为requirements_original.txt(或其他名称),并将新文件重命名为requirements.txt。 - 结果:再次启动 ComfyUI,依赖检查日志消失,启动速度恢复正常。问题得到彻底解决。
- 操作:
四、 结论与建议
- 结论:问题已通过替换为纯净的、无平台条件语句的
requirements.txt文件完美解决。 - 根本教训:在 Windows 环境下,自定义节点的
requirements.txt若包含其他平台的安装条件,会触发 ComfyUI 的每次检查机制。 - 最佳实践建议:
- 对于包含平台条件依赖的节点,建议维护者提供不同平台的专用文件(如
requirements_windows.txt,requirements_linux.txt)。 - 用户手动安装节点后,若遇到类似问题,可参考本报告,自行编辑
requirements.txt文件,移除与当前系统无关的依赖行。
- 对于包含平台条件依赖的节点,建议维护者提供不同平台的专用文件(如
当前状态: ✅ 问题已关闭,启动流程干净、快速。
更多推荐
所有评论(0)