关于 Python
世界上有许多编程语言,而 ComfyUI 主要是用 Python 这种语言运行的。
为了熟练使用 ComfyUI,你完全不需要学会用 Python 编程。 不过,如果能稍微了解一些术语,也许在你将来面对错误报错时,能多一些与之战斗的勇气。
版本
说“语言”有版本可能会让人觉得有点奇怪,就像昭和时代没有的词汇在令和时代诞生一样,Python 也在不断的更新中加入新功能并做出改善。
虽然基本上设计为保持向下兼容性(让旧代码也能运行),但有时版本升级后,旧的程序也会无法运行。
- 推荐版本
- 目前 Python 的最新版更新得很快,但 ComfyUI 能稳定运行的版本范围在
3.10〜3.13之间。
- 目前 Python 的最新版更新得很快,但 ComfyUI 能稳定运行的版本范围在
库 (Library)
虽然用 ComfyUI 来打比方有点奇怪,但“库”就像是 自定义节点 一样的东西。 它是为了给 Python 本体追加功能,或者让复杂的处理写起来更简单而存在的“扩展部件”。
虽然很方便,但如果库与库之间有依赖关系,或者与 Python 本体的版本不匹配,有时就会引发 “明明什么都没做却坏掉了” 的状态。 实际上,在 ComfyUI 中遇到的大部分错误都是由库引起的。
pip install
这是用于安装上述“库”的命令。
pip install <库名>
例如像上面这样输入,就会从互联网下载并安装库。
虚拟环境
库既是 Python 的优势,也是容易引发错误的根源。 虽然装得越多越方便,但相应的依赖关系也会变复杂,引发错误的可能性也会上升。
于是就轮到 “虚拟环境” 登场了。
如果什么都不做直接安装库,会影响到 PC 上所有的 Python 程序,但如果按软件分到“专用的房间”里进行管理,就可以防止依赖关系变得过于复杂。
经常出现的 venv,就是创建这种虚拟环境的功能之一。
便携版
便携版的 ComfyUI 有点特别。
看一眼 ComfyUI_windows_portable 文件夹,你会发现里面有一个 python_embeded 文件夹。
- 手动安装(venv): 在 PC 上安装 Python,并在其中创建虚拟环境(房间)。
- 便携版: 将 Python 本身内嵌在了文件夹里。
这就是所谓的“连房子一起搬过来”的结构。 因此,即使 PC 本机没有安装 Python 也能运行,放入 USB 存储器插到其他 PC 上启动,也能直接运行。
🚨 注意点
虽然说“哪里都能跑”,但也是有极限的。
-
- OS 之墙: Windows 版的便携版无法在 Linux 或 Mac 上运行。
-
- 硬件之墙: 针对 CUDA (NVIDIA) 设置的 ComfyUI,无法在没有 NVIDIA GPU 的 PC 上运行。
-
- 环境依赖之墙: 像
xformers或FlashAttention等特定的库,强烈依赖于驱动程序或硬件配置以及路径,带到其他 PC 上往往无法运行。
- 环境依赖之墙: 像
请理解为“只有在基本的硬件配置和 OS 相同时才能运行”的程度。