自定义节点
了解 ComfyUI 中自定义节点的安装、依赖启用、更新、禁用、卸载
关于自定义节点
当你在安装了 ComfyUI 后,你将会发现 ComfyUI 中已经包含了许多节点,这些原生的节点称为 Comfy Core 节点,这些节点都是由 ComfyUI 官方维护的。
此外还有许多来自 ComfyUI 社区的众多作者带来的各种各样的 自定义节点,这些自定义节点为 ComfyUI 带来了诸多的扩展功能,大大扩展了 ComfyUI 的功能和能力边界。
在本指南中,我们将介绍如何自定义节点相关的一些操作,包括安装、更新、禁用、卸载、依赖安装等。
每个人都可以开发自己的自定义的扩展功能到 ComfyUI 中,并分享给其他人使用,你可以在这里找到许多来自社区的自定义节点,如果你想要开发自己的自定义节点请访问下面的部分开始:
开始开发自定义节点
了解如何开始开发一个自定义节点
自定义节点管理
在这个部分我们将讲解:
- 安装自定义节点
- 安装节点依赖
- 自定义节点版本控制
- 卸载自定义节点
- 临时禁用自定义节点
- 处理自定义节点依赖冲突
1. 安装自定义节点
目前 ComfyUI 支持通过多种方式安装自定义节点,包括:
- [通过 ComfyUI Manager 安装(推荐)](#通过 ComfyUI Manager 安装)
- 通过 Git 安装
- 手动安装
我们推荐通过 ComfyUI Manager 来安装自定义节点,这是一个在 ComfyUI 自定义节点生态中具有非常重要意义的一个工具,它使得自定义节点管理(如搜索、安装、更新、禁用和卸载)变得简单,你只需要在 ComfyUI Manager 中搜索你想要安装的节点,然后点击安装即可。
但由于目前所有的自定义节点都是存储在 GitHub 上,所以在本篇针对于某些无法正常访问 GitHub 的的地区,我们在本篇撰写了详尽的不同的自定义节点的安装方式。
另外由于我们推荐使用 ComfyUI Manager 进行对应的插件管理,我们推荐使用这一工具来进行插件的管理,你可以在这里找到它的源码。 所以在本篇文档中,我们将会使用安装 ComfyUI Manager 作为自定义节点安装示例,并在本篇的相关介绍部分补充如何使用它来进行节点的管理。
由于 ComfyUI Manager 的功能非常丰富,所在在这里我们将对应的通过 ComfyUI Manager 章节单独使用一篇文档来介绍,请访问下面的链接来了解如何使用 ComfyUI Manager 来安装自定义节点。
ComfyUI Manager 安装自定义节点
了解如何使用 ComfyUI Manager 安装自定义节点
由于 ComfyUI Manager 的功能非常丰富,所在在这里我们将对应的通过 ComfyUI Manager 章节单独使用一篇文档来介绍,请访问下面的链接来了解如何使用 ComfyUI Manager 来安装自定义节点。
ComfyUI Manager 安装自定义节点
了解如何使用 ComfyUI Manager 安装自定义节点
确保 Git 已经安装
首先你需要确保在你的系统中已经安装了 Git,你可以在对应的系统终端(terminal)中输入下面的命令来检查是否已经安装了 Git。
如果已经安装了 Git,你将会看到类似如下的输出:
如果还没有安装,请访问 git-scm.com 下载对应的安装包进行安装, linux 用户请参考 git-scm.com/downloads/linux 这个部分来完成对应的安装。
对于 ComfyUI Desktop 版本,你可以参考下面的方式使用 Desktop 的终端来完成对应的安装。
克隆自定义节点代码到对应目录
在完成 Git 的安装后,我们需要对应的自定义节点的仓库地址,在这里我们使用 ComfyUI-Manager 的仓库地址作为示例:
我们首先需要进入到 ComfyUI 的自定义节点的相关目录,以 ComfyUI 便携版为例,如果对应文件夹位置为D:\ComfyUI_windows_portable
,那么你应该可以找到对应自定义节点的文件夹为D:\ComfyUI_windows_portable\ComfyUI\custom_nodes
,首先我们需要使用 cd
命令进入到对应的目录
然后我们使用 git clone
命令来完成对应的节点安装。
如果一切顺利,你将会看到类似如下的输出:
这意味着你已经成功克隆了对应的自定义节点的代码,接下来我们需要进行对应依赖的安装。
安装依赖
请参考安装节点依赖章节中的说明进行对应的依赖安装。
手动安装虽然不是推荐的安装方式,但在你无法使用 git 顺利安装的情况下,这不失为一个备用的方案。
使用这种方式安装的插件,将丢失对应的 git 版本历史信息,将无法很便利地进行后续的版本管理
下载自定义节点代码 zip 包
使用手动安装我们需要首先下载对应的节点代码,然后解压到对应的目录。
访问对应自定义节点的仓库界面
- 点击
Code
按钮 - 然后点击
Download ZIP
按钮,下载对应的 zip 包。 - 解压对应的 zip 包
复制文件到 ComfyUI 自定义节点目录
将上面步骤解压后的代码复制到 ComfyUI 自定义节点目录,以 ComfyUI 便携版为例,如果对应文件夹位置为D:\ComfyUI_windows_portable
,那么你应该可以找到对应自定义节点的文件夹为D:\ComfyUI_windows_portable\ComfyUI\custom_nodes
,将上面步骤解压后的代码复制到对应的目录。
安装依赖
请参考安装节点依赖章节中的说明进行对应的依赖安装。
2. 安装节点依赖
自定义节点都需要进行相关的依赖的安装,比如对于 ComfyUI-Manager 来说,你可以访问requirements.txt 文件来查看对应的依赖包的要求,
在之前的步骤中,我们仅仅是把对应的自定义节点代码克隆到了本地,并没有安装对应的依赖,所以接下来我们需要安装对应的依赖。
实际上,如果你使用的是 ComfyUI-Manager 来安装插件的话,ComfyUI Manager 会自动帮你完成对应的依赖安装,你只需要在安装插件后,重启 ComfyUI 即可,这也是为什么我们极力推荐使用 ComfyUI Manager 来安装自定义节点。
但也许你会在某些情况下无法顺利使用 ComfyUI Manager 来安装自定义节点,所以我们提供了这部分较为详细的依赖安装说明。
在关于依赖关系章节中,我们介绍了 ComfyUI 中依赖关系的相关内容,ComfyUI 是一个基于 Python 的项目,我们构建了一个用于运行 ComfyUI 的独立 Python 运行环境,所有的相关依赖都需要被安装在在这个独立的 Python 运行环境中。
如果你直接在系统级的终端运行 pip install -r requirements.txt
,对应的依赖可能会被安装到了系统级的 Python 环境中,会导致对应的自定义节点在 ComfyUI 的环境中依赖还是丢失的,导致对应自定义节点无法正常运行。
所以接下来我们需要使用 ComfyUI 的独立 Python 运行环境来完成对应的依赖安装。
依据不同的 ComfyUI 版本我们将使用不同的方式来进行对应的依赖安装,
对于 ComfyUI 便携版(Portable)来说,它使用的是一个嵌入式的 Python ,对应 Python 位于 \ComfyUI_windows_portable\python_embeded
目录下, 我们需要使用对应的 Python 来完成对应的依赖安装。
首先先在便携版的目录下启动 terminal 或者启动 terminal 后使用 cd
命令进入到 \ComfyUI_windows_portable\
目录下
确保对应终端的目录为 \ComfyUI_windows_portable\
目录下,如下图为 D:\ComfyUI_windows_portable\
然后使用 python_embeded\python.exe
来完成对应的依赖安装。
当然你可以把对应的 ComfyUI-Manager 替换为你实际安装的自定义节点名称,但需要确保对应节点目录下的确存在 requirements.txt
文件。
对于 ComfyUI 便携版(Portable)来说,它使用的是一个嵌入式的 Python ,对应 Python 位于 \ComfyUI_windows_portable\python_embeded
目录下, 我们需要使用对应的 Python 来完成对应的依赖安装。
首先先在便携版的目录下启动 terminal 或者启动 terminal 后使用 cd
命令进入到 \ComfyUI_windows_portable\
目录下
确保对应终端的目录为 \ComfyUI_windows_portable\
目录下,如下图为 D:\ComfyUI_windows_portable\
然后使用 python_embeded\python.exe
来完成对应的依赖安装。
当然你可以把对应的 ComfyUI-Manager 替换为你实际安装的自定义节点名称,但需要确保对应节点目录下的确存在 requirements.txt
文件。
由于 ComfyUI 桌面版在安装过程中已经安装了 ComfyUI-Manager 及对应依赖,但本文是以 ComfyUI Manager 作为自定义节点安装为示例讲解的,实际上你并不需要再在桌面版中执行 ComfyUI Manager 的依赖安装。 如果没有意外情况,我们建议使用 ComfyUI Manager 来安装自定义节点,这样你就不需要手动安装依赖了。
然后使用下面的命令来安装对应插件的依赖
如下图,是对应 ComfyUI-Hunyuan3Dwrapper 的依赖安装。
对于自定义 Python 环境的用户,我们建议使用 pip install -r requirements.txt
来完成对应的依赖安装。
自定义节点版本控制
自定义节点的版本控制,实际上是基于 Git 的版本控制来进行的,你可以通过 Git 来进行对应的节点版本管理,但实际上在 ComfyUI Manager 中已经很好地集成了这一版本管理功能,非常感谢 @Dr.Lt.Data 为我们带来如此便捷的工具。
在这个部分我们依旧会为你讲解这两种不同插件版本管理的方法,但如果你是使用 zip 压缩包进行手动安装的,那么对应的 git 版本历史信息会丢失,会导致你无法进行对应的版本管理。
进入节点管理界面
如图进行对应的操作,进入 ComfyUI Manager 的对应界面
找到对应自定义节点包
可以使用对应的筛选过滤来过滤出已安装的节点包,然后再进行对应的节点管理
进行版本切换
切换到对应的版本,Manager 会帮助你完成对应的依赖更新和安装,通常切换完版本之后你需要重启 ComfyUI 以使更改生效。
进入节点管理界面
如图进行对应的操作,进入 ComfyUI Manager 的对应界面
找到对应自定义节点包
可以使用对应的筛选过滤来过滤出已安装的节点包,然后再进行对应的节点管理
进行版本切换
切换到对应的版本,Manager 会帮助你完成对应的依赖更新和安装,通常切换完版本之后你需要重启 ComfyUI 以使更改生效。
使用命令行工具进入所在目录
找到你对应节点所在的目录文件夹如ComfyUI/custom_nodes/ComfyUI-Manager
使用 cd
命令来进入对应的文件夹
使用 git 命令来查看版本
可以使用以下命令查看所有可用的 tag 和 release:
这将列出所有的版本标签,你可以选择你想要切换到的版本。
切换到指定版本
使用以下命令切换到指定的 tag 或 release:
将 <tag_name>
替换为你想要切换到的具体版本标签。
切换到特定 commit 版本
如果你想要切换到特定的 commit 版本,可以使用以下命令:
将 <commit_hash>
替换为你想要切换到的具体 commit 的哈希值。
进行依赖安装
由于进行版本切换后,对应的自定义节点包的依赖可能会有所改变,所以你需要重新进行对应节点的依赖的安装,请参考安装节点依赖部分的说明进入对应的环境进行安装
卸载自定义节点
待更新
临时禁用自定义节点
待更新
自定义节点依赖冲突
待更新
ComfyUI Manager
目前在 Desktop 版本 中已默认包含该工具,而在便携(Portable)版中,你需要参考本文档中安装管理器章节中的说明进行安装。
由于随着 ComfyUI 的发展,ComfyUI Manager 在 ComfyUI 中的角色也愈加重要,目前 ComfyUI-Manager 已经正式加入 Comfy Org 组织,正式成为 ComfyUI 核心依赖的一部分,并且由原作者Dr.Lt.Data继续维护,你可以查看这篇博客了解更多信息。 并且在未来迭代中,我们会大大优化 ComfyUI Manager 的使用,所以本文的中使用说明文档的界面,可能会与最新版本的 ComfyUI Manager 界面有所不同。
安装管理器
如果您正在运行 ComfyUI 服务器应用程序,则需要安装管理器。如果 ComfyUI 正在运行,请在继续之前将其关闭。
第一步是安装 Git,这是一个用于软件版本控制的命令行应用程序。Git 将从 github.com 下载 ComfyUI 管理器。从 git-scm.com 下载并安装 Git。
安装 Git 后,导航到 ComfyUI 服务器程序目录,进入标记为 custom_nodes 的文件夹。打开命令窗口或终端。确保命令行显示当前目录路径为 custom_nodes。输入以下命令。这将下载管理器。从技术上讲,这被称为 克隆 Git 仓库。
检测缺失的节点
在安装管理器后,你可以在管理器中检测到缺失的节点。
开发一个自定义节点
如果你具有一定的开发能力,请从下面的文档开始以了解如何开始开发一个自定义节点。
开始开发自定义节点
了解如何开始开发一个自定义节点