【Mac】ComfyUI 部署

PC:Mac M1

一、ComfyUI 部署

未安装 Homebrew 的移步: 【Mac】Homebrew

未安装 Conda 的移步: 【Mac】安装 Python3 二、2、通过 conda 安装管理 Python

安装 ComfyUI:

bash 复制代码
# 启用虚拟环境
conda create -y -n comfyui python=3.12
conda activate comfyui

# 安装pytorch
conda install pytorch torchvision torchaudio -c pytorch-nightly -y

# 克隆 ComfyUI 项目
git clone https://github.com/comfyanonymous/ComfyUI

# 进入安装目录
cd ComfyUI

# 修改配置文件,使 ComfyUI 与 Stable Diffusion 公用模型文件
# 未安装SD的忽略这两条命令
cp extra_model_paths.yaml.example extra_model_paths.yaml
sed -i '' 's#path/to/stable-diffusion-webui#../stable-diffusion-webui#g' extra_model_paths.yaml

# 安装依赖
pip install -r requirements.txt

# 启动 ComfyUI
python main.py

注意 :ComfyUI不会像Stable Diffusion自动弹出浏览器界面,需手动在浏览器输入终端出现的地址,一般是:http://127.0.0.1:8188

如需安装SD的移步【Mac】 Stable Diffusion 部署

可能出现的警告或报错:

  • Reason: tried: '/opt/miniconda3/envs/comfyui/lib/python3.12/site-packages/torchvision/../../../libjpeg.9.dylib' (no such file), '/opt/miniconda3/envs/comfyui/lib/python3.12/site-packages/torchvision/../../../libjpeg.9.dylib' (no such file), '/opt/miniconda3/envs/comfyui/lib/python3.12/lib-dynload/../../libjpeg.9.dylib' (no such file), '/opt/miniconda3/envs/comfyui/bin/../lib/libjpeg.9.dylib' (no such file)'If you don't plan on using image functionality from torchvision.io, you can ignore this warning. Otherwise, there might be something wrong with your environment. Did you have libjpeg or libpng installed before building torchvision from source?

    先检查是否安装 libjpeg:

    bash 复制代码
    (comfyui) zs@Mac ComfyUI % brew install libjpeg
    Warning: jpeg 9f is already installed and up-to-date.
    To reinstall 9f, run:
      brew reinstall jpeg

    libjpeg 即 jpeg 已安装,并且是最新版本,设置环境变量:

    bash 复制代码
    export DYLD_LIBRARY_PATH=/opt/homebrew/Cellar/jpeg/9f/lib

    此时再去重启 ComfyUI 就没有对应的信息。

二、插件

1、插件安装

  • 方式一:进入 ComfyUI/custom_nodes 目录,使用 git clone 拉取项目代码,启动 ComfyUI 即可,例:

    bash 复制代码
    cd ComfyUI/custom_nodes
    git clone https://github.com/ltdrdata/ComfyUI-Manager.git
    python ../main.py
  • 方式二:在 Github 上下载对应的项目zip压缩包,解压到 ComfyUI/custom_nodes 目录下,记得把后缀分支名称去掉,然后重启ComfyUI。

2、ComfyUI-Manager

项目地址:https://github.com/ltdrdata/ComfyUI-Manager.git

ComfyUI管理器是一个旨在增强ComfyUI可用性的扩展。它提供了安装、删除、禁用和启用ComfyUI各种自定义节点的管理功能。此外,此扩展提供了一个中心功能和便利功能,可以在ComfyUI中访问各种信息。

三、使用 ComfyUI Reactor Node 实现视频换脸

1、项目说明

ComfyUI Reactor Node 是一个快速且简单的面部交换扩展节点,专为 ComfyUI 设计。该项目基于 ReActor SD-WebUI 面部交换扩展,旨在提供一个无需 NSFW 过滤器(未经审查)的面部交换功能。用户可以自行承担使用该节点的责任。

项目地址:https://gitcode.com/gh_mirrors/co/comfyui-reactor-node

关键技术和框架:

  • ComfyUI: 一个用于图像处理和生成的用户界面框架。
  • ReActor SD-WebUI: 一个基于 Stable Diffusion 的面部交换扩展。
  • Insightface: 一个用于面部识别和分析的开源库。
  • ONNX Runtime: 一个用于加速深度学习模型推理的运行时。
  • GPEN: 一个用于面部修复的模型。

2、插件安装

  • 第一步,点击 Manager ⇒ 点击 Custom Nodes Manager

  • 第二步,搜索 reactor ⇒ 安装 comfyui-reactor-node

  • 第三步,重启 ComfyUI,刷新浏览器

  • 第四步,下载模型 inswapper_128.onnx 放到 ComfyUI/models/insightface 目录下

    模型下载地址:Hugging FaceGoogleCloudPlusCSDN百度网盘

上述第二步,reactor 安装失败的,参照以下步骤:

  • 第一步,Github上边下载 项目代码 放到 ComfyUI/custom_nodes 目录下

  • 第二步,下载模型 codeformer-v0.1.0.pth 和 GFPGANv1.4.pth 放到 ComfyUI/facerestore_models 目录下

  • 第三步,重启ComfyUI,再次来到这个界面,点击 Fix,修复终端报错,可能出现的报错:

    • ModuleNotFoundError: No module named 'torch'

      通过 pip list | grep torch 发现是有 torch的,怀疑是版本不匹配,直接升级:

      bash 复制代码
      pip install --upgrade torch torchvision torchvision
    • ModuleNotFoundError: No module named 'insightface'

      通过 pip list | grep insightface 发现确实没有,直接用pip安装:

      bash 复制代码
      pip install insightface
    • fastapi 0.94.0 requires pydantic!=1.7,!=1.7.1,!=1.7.2,!=1.7.3,!=1.8,!=1.8.1,<2.0.0,>=1.6.2, but you have pydantic 2.10.5 which is incompatible.

      fastapi 0.94.0 需要 pydantic 的版本在 1.6.2 到 2.0.0 之间,但不包括 1.7.x 和 1.8.x 的任何版本。然而,你安装的是 pydantic 2.10.5,这超出了 fastapi 所要求的版本范围。

      要么降低 pydantic 版本,要么升级 fastapi 版本,以下命令选择一条执行即可:

      bash 复制代码
      pip install pydantic==1.6.2  # 选择一个与 fastapi 兼容的 1.6.x 版本
      pip install --upgrade fastapi
    • open-clip-torch 2.20.0 requires protobuf<4, but you have protobuf 5.29.3 which is incompatible.

      open-clip-torch 2.20.0 需要 protobuf 的版本小于 4.0.0,但你安装的是 protobuf 5.29.3,这同样超出了 open-clip-torch 所要求的版本范围。

      要么降低 protobuf 版本,要么升级 open-clip-torch 版本,以下命令选择一条执行即可:

      bash 复制代码
      pip install protobuf==3.19.4  # 选择一个与 open-clip-torch 兼容的 3.x 版本
      pip install --upgrade open-clip-torch
    • A new version of Albumentations is available: 2.0.0 (you have 1.4.10). Upgrade using: pip install --upgrade albumentations

      升级即可:

      bash 复制代码
      pip install --upgrade albumentations

3、视频换脸

  • 第一步,下载工作流,将 json 文件拉入ComfyUI

  • 第二步,安装缺失的插件:

    • 关掉提示窗口

    • 点击 Manager,点击 Install Missing Custom Nodes

    • 勾选全部,点击 install
      如果有节点安装失败的,就到 ComfyUI/custom_nodes 目录下手动 git clone,例:

      bash 复制代码
      git clone -v --recursive --progress -- https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes /Users/zs/App/ComfyUI/custom_nodes/ComfyUI_Comfyroll_CustomNodes

      因为网络问题可能会出现拉取失败,多试几次就好。

  • 第三步,重启 ComfyUI

    终端 ctrl + c 终止程序,再重新启动程序:

    bash 复制代码
    python main.py
  • 第四步,上传图片与视频,点击执行

    可能出现的报错:

    • onnxruntime.capi.onnxruntime_pybind11_state.Fail: 【ONNXRuntimeError】 : 1 : FAIL : Non-zero status code returned while running CoreML_13099565872608237799_6 node. Name:'CoreMLExecutionProvider_CoreML_13099565872608237799_6_6' Status Message: Exception: /Users/runner/work/1/s/onnxruntime/core/providers/coreml/model/model.mm:71 InlinedVector<int64_t> (anonymous namespace)::GetStaticOutputShape(gsl::span<const int64_t>, gsl::span<const int64_t>, const logging::Logger &) inferred_shape.size() == coreml_static_shape.size() was false. CoreML static output shape ({1,1,1,800,1}) and inferred shape ({3200,1}) have different ranks.

四、说明

若有其他更好用的工作流,求分享!

相关推荐
Macdo_cn2 小时前
My Metronome for Mac v1.4.2 我的节拍器 支持M、Intel芯片
macos·音视频
吹泡泡的派大星3 小时前
从0-1搭建mac环境最新版
macos
zhouwu_linux3 小时前
MT7628基于原厂的SDK包, 修改ra1网卡的MAC方法。
linux·运维·macos
丁总学Java3 小时前
在 macOS 的 ARM 架构上按住 Command (⌘) + Shift + .(点)。这将暂时显示隐藏文件和文件夹。
macos
青木川崎3 小时前
Mac下常用命令
macos
ClaNNEd@3 小时前
Mac端homebrew安装配置
macos·brew
nicekwell4 小时前
macos sequoia 禁用 ctrl+enter 打开鼠标右键菜单功能
macos
丁总学Java8 小时前
在 Mac ARM 架构的 macOS 系统上启用 F1 键作为 Snipaste 的截屏快捷键
macos·snipaste
天下皆白_唯我独黑12 小时前
brew Nushell mac升级版本
macos
刘什么洋啊Zz16 小时前
MacOS下使用Ollama本地构建DeepSeek并使用本地Dify构建AI应用
人工智能·macos·ai·ollama·deepseek