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 文件设计

  1. 平台条件依赖语句
    该文件包含如下内容:

    pynini==2.1.6; platform_system!="Windows"
    WeTextProcessing>=1.0.3; platform_system!="Windows"
    
    • ; platform_system!="Windows" 意为“仅在非 Windows 系统上安装”。
    • 在 Windows 系统上,这些包永远不会被安装
  2. ComfyUI 检查机制
    ComfyUI 启动时会无条件扫描每个节点的 requirements.txt 并执行 pip install -r requirements.txt

    • 尽管最终不会安装这些包,但 pip 仍需每次解析和执行条件判断
    • 这个过程触发了完整的依赖检查流程,导致每次启动都输出日志并执行环境检查。

三、 解决方案与实施

  1. 方案一:创建 Windows 专用依赖文件。
    • 操作
      a. 在 ComfyUI-Index-TTS 节点目录下创建新文件 requirements_windows.txt
      b. 内容仅保留在 Windows 系统上实际需要安装的包:
      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.0
      
      c. 重命名原文件 requirements.txtrequirements_original.txt(或其他名称),并将新文件重命名为 requirements.txt
    • 结果:再次启动 ComfyUI,依赖检查日志消失,启动速度恢复正常。问题得到彻底解决。

四、 结论与建议

  1. 结论:问题已通过替换为纯净的、无平台条件语句的 requirements.txt 文件完美解决。
  2. 根本教训:在 Windows 环境下,自定义节点的 requirements.txt 若包含其他平台的安装条件,会触发 ComfyUI 的每次检查机制。
  3. 最佳实践建议
    • 对于包含平台条件依赖的节点,建议维护者提供不同平台的专用文件(如 requirements_windows.txt, requirements_linux.txt)。
    • 用户手动安装节点后,若遇到类似问题,可参考本报告,自行编辑 requirements.txt 文件,移除与当前系统无关的依赖行。

当前状态:问题已关闭,启动流程干净、快速。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐