乐于分享
好东西不私藏

ComfyUi的软件依赖与状态备份及恢复

ComfyUi的软件依赖与状态备份及恢复

摘要:ComfyUi,软件依赖,备份,恢复,依赖清单,版本控制

了解ComfyUi都知道,它的软件依赖是非常复杂,也很易发生冲突的。往往安装某些功能插件会导致各类的依赖包发生冲突。在当前所有节点都能正常加载情况下,为避免安装其它插件后依赖冲突,如何查看当前所有依赖包的版本?如何保存当前的可用状态是非常关键的。

为了避免后续安装插件时出现依赖冲突,应提前查看并记录当前环境的所有依赖包版本。根据您使用的 ComfyUI 版本类型,可以通过以下两种方式进行查看:

1. 如果使用的是 ComfyUI 便携版(Portable Version)便携版集成了独立的嵌入式 Python 环境。可以打开命令行终端,进入 ComfyUI 的根目录,然后执行以下命令来查看完整的依赖列表:

.\python_embeded\python.exe -m pip list

如果只想检查某个特定的包(例如 rich 或 transformers)是否安装及其版本,可以使用 findstr 进行过滤:

.\python_embeded\python.exe -m pip list | findstr 包名```<websource>source_group_web_1</websource>

** 如果使用的是手动安装或桌面版**

如果在系统中配置了全局的 Python 环境或使用了虚拟环境(venv),可以直接在激活对应环境后使用标准的 pip 命令查看:pip list

💡 进阶建议:如何防范未来的依赖冲突?

  • 检查依赖冲突: 在查看完列表后,建议(便携版)执行 
.\python_embeded\python.exe -m pip check
或 (标准版)
pip check
  • 这个命令会扫描当前环境,如果发现包之间存在版本兼容性问题,会直接列出“broken requirements”(损坏的依赖要求)
  • 保存环境快照 强烈建议您将当前正常的依赖列表导出备份。您可以执行 
pip freeze > requirements_backup.txt
  • 如果未来安装新插件导致环境崩溃,您可以随时通过这个备份文件恢复到当前稳定的状态。
  • 使用 ComfyUI-Manager 推荐安装 ComfyUI-Manager 插件。它提供了图形化的「Dependency Management」(依赖管理)界面,能够智能处理依赖关系、自动调解版本冲突,并支持一键保存和恢复环境快照,大幅降低环境配置的风险

如何使用ComfyUI-Manager快照功能

ComfyUI-Manager 的快照(Snapshot)功能就像是给你的插件配置和安装状态拍了一张“照片”。当你在安装新插件或更新环境前创建快照,一旦出现问题,就可以随时将系统恢复到之前的稳定状态。以下是具体的使用方法:

1. 图形界面操作(最常用)

  • 创建快照在 ComfyUI 主界面点击 Manager 按钮,进入管理面板后,点击 Save snapshot(保存快照)按钮。系统会自动保存当前所有插件的状态,并生成一个以时间戳命名的快照文件
  • 恢复快照在 Manager 面板中点击 Restore(恢复)按钮,在弹出的列表中选择你想要回退到的目标快照,等待系统自动重启即可完成恢复
  • 自动保存机制当你使用 Manager 菜单上的 Update All(全部更新)功能时,系统会在更新前自动保存一个快照,以防因更新失败导致环境崩溃

2. 命令行操作(适合高级用户)

如果你习惯使用命令行,可以通过 cm-cli.py 工具来管理快照,无需打开图形界面:

  • 保存当前快照
python cm-cli.py save-snapshot
  • 查看快照列表
python cm-cli.py snapshot-list
  • 恢复指定快照
python cm-cli.py restore-snapshot <快照文件名>

3. 快照文件存储位置

生成的快照文件默认存储在以下目录中,你可以定期清理旧快照以节省磁盘空间:

<USER_DIRECTORY>/default/ComfyUI-Manager/snapshots

⚠️ 注意事项

在使用快照功能时需要注意,对于非 Git 管理的自定义节点,快照的支持可能不够完整。这意味着在恢复快照时,这部分非标准安装的节点可能无法完美还原,建议尽量通过 Manager 或 Git 来统一管理自定义节点

以下是第三方节点相关的信息列表:

https://ltdrdata.github.io/