ComfyUI 安装教程:macOS 和 Linux 统一步骤
本教程将详细介绍如何在 macOS 和 Linux 上安装 ComfyUI。我们将从 安装 Anaconda 开始,到安装 PyTorch 和 ComfyUI,最后提供一些常见问题的解决方法。
macOS和linux安装步骤很相似
可以按照1️⃣安装anaconda2️⃣安装python3️⃣torch4️⃣comfyui
ComfyUI 安装教程:macOS 和 Linux 统一步骤
- 1. 安装 Anaconda
- 1.1 下载并安装 Anaconda
- 2. 创建 Python 虚拟环境
- 2.1 创建并激活虚拟环境
- 2.2 安装xcode(仅macOS)
- 3. 安装 PyTorch
- 3.1 安装 PyTorch(macOS无 GPU 支持)
- 3.2 安装PyTorch(Linux有GPU支持)
- 4. 配置 PIP 缓存目录
- 4.1 配置 PIP 缓存目录
- 5. 安装 ComfyUI
- 5.1 克隆并安装 ComfyUI
- 5.2 安装插件管理器
- 5.3 安装汉化插件(可选)
- 5.4 启动 ComfyUI
- 6. 常见问题及解决方法
- 6.1 报错:`command not found: conda`
- 6.2 报错:`Could not find a version that satisfies the requirement`
- 6.3 报错:`No space left on device`
1. 安装 Anaconda
1.1 下载并安装 Anaconda
-
下载 Anaconda:
- 访问 Anaconda 官网。
- 选择适合你操作系统的 Anaconda 安装包(macOS 或 Linux)。
-
安装 Anaconda:
打开终端并运行以下命令(假设你下载的是Anaconda3-2023.x.x-MacOSX-x86_64.sh
或Anaconda3-2023.x.x-Linux-x86_64.sh
):bash Anaconda3-2023.x.x-MacOSX-x86_64.sh # 对于macOS bash Anaconda3-2023.x.x-Linux-x86_64.sh # 对于Linux
-
按提示安装:
- 接受许可证(按
Enter
键确认)。 - 选择安装路径(默认情况下为:
/Users/your-username/anaconda3
或/home/your-username/anaconda3
)。 - 如果你不想修改安装路径,直接按 Enter 键。
- 接受许可证(按
-
设置 Anaconda 环境变量:
- 在 macOS 上,编辑。
~/.zshrc
文件(如果使用 bash,则是。~/.bash_profile
)。 - 在 Linux 上,编辑。
~/.bashrc
文件
打开文件进行编辑:
nano ~/.zshrc # macOS 使用 zsh nano ~/.bashrc # Linux 使用 bash
在文件末尾添加以下内容:
export PATH="$HOME/anaconda3/bin:$PATH"
保存并退出编辑器后,运行以下命令使修改生效:
source ~/.zshrc # macOS source ~/.bashrc # Linux
- 在 macOS 上,编辑。
-
验证安装: 在终端中运行:
conda --version
如果安装成功,应该显示 Anaconda 的版本号。
2. 创建 Python 虚拟环境
2.1 创建并激活虚拟环境
-
使用 conda 创建一个新的 Python 3.12 虚拟环境:
conda create --name comfyui python=3.12
-
激活虚拟环境:
conda activate comfyui
-
验证 Python 版本:
python --version
输出应该是 Python 3.12.x。
2.2 安装xcode(仅macOS)
打开终端,输入代码:
xcode-select --install
如果报错,也可以直接到app商店,下载xcode,安装即可
3. 安装 PyTorch
3.1 安装 PyTorch(macOS无 GPU 支持)
由于没有 GPU 支持,我们安装 PyTorch CPU 版本。运行以下命令:
-
安装 PyTorch、TorchVision 和 Torchaudio:
conda install pytorch torchvision torchaudio -c pytorch
-
若要安装 PyTorch Nightly 版本,可运行:
conda install pytorch torchvision torchaudio -c pytorch-nightly
这会自动选择适合 CPU 的版本。
3.2 安装PyTorch(Linux有GPU支持)
-
安装 PyTorch、TorchVision 和 Torchaudio:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu112 -i https://pypi.tuna.tsinghua.edu.cn/simple
注意自己的CUDA版本,安装对应的版本
4. 配置 PIP 缓存目录
为了避免缓存文件占满磁盘空间,我们可以设置 PIP 缓存目录。
4.1 配置 PIP 缓存目录
-
设置 PIP 缓存目录:
export PIP_CACHE_DIR="/data/osadm/cache"
-
要使其在每次打开终端时生效,请编辑
~/.zshrc
或~/.bashrc
文件,添加:export PIP_CACHE_DIR="/data/osadm/cache"
-
保存文件并使修改生效:
source ~/.zshrc # macOS source ~/.bashrc # Linux
5. 安装 ComfyUI
5.1 克隆并安装 ComfyUI
-
克隆 ComfyUI 仓库:
cd ~/ git clone https://github.com/comfyanonymous/ComfyUI cd ComfyUI
-
安装 ComfyUI 依赖:
pip install -r requirements.txt
5.2 安装插件管理器
-
进入
custom_nodes
目录并克隆插件管理器:cd ~/ComfyUI/custom_nodes git clone https://github.com/ltdrdata/ComfyUI-Manager.git cd ComfyUI-Manager pip install -r requirements.txt
5.3 安装汉化插件(可选)
-
如果需要汉化界面:
cd .. git clone https://github.com/AIGODLIKE/AIGODLIKE-COMFYUI-TRANSLATION.git
5.4 启动 ComfyUI
-
启动 ComfyUI:
cd ~/ComfyUI python main.py
6. 常见问题及解决方法
6.1 报错:command not found: conda
问题描述:
在安装 Anaconda 后,使用 conda 命令时显示 command not found 错误。
解决方法:
确保 conda
的路径已经正确添加到环境变量中。请按照以下步骤操作:
-
编辑
~/.bashrc
或~/.zshrc
文件,确保添加以下行:export PATH="$HOME/anaconda3/bin:$PATH"
-
然后运行以下命令,使修改生效:
source ~/.bashrc # Linux source ~/.zshrc # macOS
-
如果问题仍然存在,请确保你的 Anaconda 安装路径正确,并检查是否安装了多个版本的 Python。
6.2 报错:Could not find a version that satisfies the requirement
问题描述:
在安装依赖时遇到以下错误:
Could not find a version that satisfies the requirement <package-name>
解决方法:
这个错误通常是因为 PyPI 上没有找到对应版本的包。你可以尝试以下几种方式解决:
-
更新 pip:
pip install --upgrade pip
-
使用清华镜像源安装:
pip install <package-name> -i https://pypi.tuna.tsinghua.edu.cn/simple
-
如果是 PyTorch 相关问题,确保使用与 Python 版本匹配的 PyTorch 安装命令。例如,使用
conda
安装,而不是pip
。
6.3 报错:No space left on device
问题描述:
在运行某些安装命令时,遇到以下错误:
OSError: [Errno 28] No space left on device
解决方法:
-
检查磁盘空间:
df -h
-
清理无用的缓存或临时文件。你可以使用以下命令清理 PIP 缓存:
pip cache purge
-
如果你的系统磁盘空间不足,可以将安装路径或者缓存目录更改为其他磁盘(例如,
/data/osadm/cache
)。
相关文章:

ComfyUI 安装教程:macOS 和 Linux 统一步骤
本教程将详细介绍如何在 macOS 和 Linux 上安装 ComfyUI。我们将从 安装 Anaconda 开始,到安装 PyTorch 和 ComfyUI,最后提供一些常见问题的解决方法。 macOS和linux安装步骤很相似 可以按照1️⃣安装anaconda2️⃣安装python3️⃣torch4️⃣comfyui Co…...

360手机刷机 360手机解Bootloader 360手机ROOT
360手机刷机 360手机解Bootloader 360手机ROOT 问:360手机已停产,现在和以后,能刷机吗? 答:360手机,是肯定能刷机的 360手机资源下载网站 360手机-360手机刷机RootTwrp 360os.top 360rom.github.io 一、…...

t113-qt
修改QT配置: # # qmake configuration for building with arm-linux-gnueabi-g ## MAKEFILE_GENERATOR UNIX # CONFIG incremental # QMAKE_INCREMENTAL_STYLE sublib# include(../common/linux.conf) # include(../common/gcc-base-unix.conf) # inc…...

【真一键部署脚本】——一键部署deepseek
目录 deepseek一键部署脚本说明 0 必要前提 1 使用方法 1.1 使用默认安装配置 1.1 .1 使用其它ds模型 1.2 使用自定义安装 2 附录:deepseek模型手动下载 3 脚本下载地址 deepseek一键部署脚本说明 0 必要前提 linux环境 python>3.10 1 使用方法 1.1 …...

【AI 语音】实时语音交互优化全解析:从 RTC 技术到双讲处理
网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…...

pytest-xdist 进行多进程并发测试
在自动化测试中,运行时间过长往往是令人头疼的问题。你是否遇到过执行 Pytest 测试用例时,整个测试流程缓慢得让人抓狂?别担心,pytest-xdist 正是解决这一问题的利器!它支持多进程并发执行,能够显著加快测试…...

【Android】版本和API对应关系表
目录 版本和API对应关系表 不积跬步,无以至千里;不积小流,无以成江海。要沉下心来,诗和远方的路费真的很贵! 版本和API对应关系表 版本名版本号名称APIAndroid 1616.0W36Android 1515.0V35Android 1414.0U34Android 1…...

通过acme生成与续签ssl证书,并部署到nginx
通过acme生成与续签ssl证书,并部署到nginx 介绍 官方介绍: acme.sh 实现了 acme 协议,可以从 ZeroSSL,Lets Encrypt 等 CA 生成免费的证书。 安装 acme.sh 1. curl方式 curl https://get.acme.sh | sh -s emailmyexample.com…...

mysql系统库介绍,数据字典(介绍,存储方式,常见表,访问权限),系统表(介绍,不同功能的表)
目录 mysql系统库 介绍 数据字典 介绍 不同版本下的存储方式 常见的数据字典表 访问权限 系统表 介绍 权限授予系统表 对象信息系统表 服务器端帮助系统表 时区系统表 mysql系统库 介绍 MySQL 默认创建 的特殊数据库,主要用于存储服务器运行时所需的信…...

spring 学习(工厂方式 实例化对象(静态工厂,实例化工厂,实现factorybean 规范))
目录 前言 第一种:静态工厂方式实例化对象 静态工厂的特点 demo(案例) 第二种:实例工厂的方式 实例工厂和静态工厂的区别 demo(案例) 第三种:实现FactoryBean规范的方式 demo(案例) 前言 spring 实…...

MarkupLM:用于视觉丰富文档理解的文本和标记语言预训练
摘要 结合文本、布局和图像的多模态预训练在视觉丰富文档理解(VRDU)领域取得了显著进展,尤其是对于固定布局文档(如扫描文档图像)。然而,仍然有大量的数字文档,其布局信息不是固定的࿰…...

讯飞智作 AI 配音技术浅析(三):自然语言处理
自然语言处理(NLP)是讯飞智作 AI 配音技术的重要组成部分,负责将输入的文本转换为机器可理解的格式,并提取出文本的语义和情感信息,以便生成自然、富有表现力的语音。 一、基本原理 讯飞智作 AI 配音的 NLP 技术主要包…...

kafka服务端之日志存储
文章目录 日志布局日志索引日志清理日志删除基于时间基千日志大小基于日志起始偏移量 日志压缩总结 日志布局 Ka饮a 中的消息是以主题为基本单位进行归类的, 各个主题在逻辑 上相互独立。 每个主题又可以分为一个或多个分区, 分区的数量可以在主题创建的…...

软件工程的熵减:AI如何降低系统复杂度
软件开发的世界,如同一个不断膨胀的宇宙。随着功能的增加和时间的推移,代码库越来越庞大,系统复杂度也随之水涨船高。代码膨胀、维护困难、开发效率低下等问题困扰着无数开发者。这不禁让人联想到物理学中的“熵增”原理——一个孤立系统的熵…...

模拟开发小鹅通首页网站练习
HTML代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>小鹅通-首页</title><!-- 引入页…...

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_strerror 函数
声明 ngx_strerror 函数声明在 ngx_errno.h 中: u_char *ngx_strerror(ngx_err_t err, u_char *errstr, size_t size); 实现 在 ngx_errno.c 中: u_char * ngx_strerror(ngx_err_t err, u_char *errstr, size_t size) {size_t len;const char *ms…...

第26场蓝桥入门赛
5.扑克较量【算法赛】 - 蓝桥云课 C: #include <iostream> #include <algorithm> using namespace std;int a[100005];int main() {int n,k;cin>>n>>k;for (int i1; i<n; i)cin>>a[i], a[i] % k;sort(a1, a1n);int mx a[1]k-a…...

【CAPL实战】实现弹窗提示及操作
文章目录 前言1、TestWaitForTesterConfirmation函数2、测试举例 前言 在使用CANoe进行车载通信测试的过程中,可能因为一些条件限制,我们需要在测试执行的过程中去观察一些硬件显示或者调整相关硬件状态。比如测试过程中,需要手动去调整小电…...

基于ESP32的远程开关灯控制(ESP32+舵机+Android+物联网云平台)
目录 材料环境准备物理材料软件环境 物联网平台配置(MQTT)MQTT阿里云平台配置创建产品添加设备自定义topic esp32配置接线代码 Android部分和云平台数据流转 前言:出租屋、宿舍网上关灯问题,计划弄一个智能开关以及带一点安防能力…...

协议-ACLLite-ffmpeg
是什么? FFmpeg是一个开源的多媒体处理工具包,它集成了多种功能,包括音视频的录制、转换和流式传输处理。FFmpeg由一系列的库和工具组成,其中最核心的是libavcodec和libavformat库。 libavcodec是一个领先的音频/视频编解码器库&…...

ARM嵌入式学习--第十四天(SPI)
SPI -介绍 SPI(Serial Peripheral Interface)串行外围设备接口。是由Motorola公司开发,用来在微控制器和外围设备芯片之间提供一个低成本,易使用的接口。这样接口可以用来连接存储器、AD转换器、DA转换器、实时时钟、LCD驱动器、…...

DeepSeek-V2 论文解读:混合专家架构的新突破
论文链接:DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model 目录 一、引言二、模型架构(一)多头部潜在注意力(MLA):重塑推理效率(二)DeepSeekM…...

5分钟了解回归测试
1. 什么是回归测试(Regression Testing) 回归测试是一个系统的质量控制过程,用于验证最近对软件的更改或更新是否无意中引入了新错误或对以前的功能方面产生了负面影响(比如你在家中安装了新的空调系统,发现虽然新的空…...

路由器如何进行数据包转发?
路由器进行数据包转发的过程是网络通信的核心之一,主要涉及以下几个步骤: 接收数据包:当一个数据包到达路由器的一个接口时,它首先被暂时存储在该接口的缓冲区中。 解析目标地址:路由器会检查数据包中的目标IP地址。…...

【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(四) -> 常见组件(一)
目录 1 -> List 1.1 -> 创建List组件 1.2 -> 添加滚动条 1.3 -> 添加侧边索引栏 1.4 -> 实现列表折叠和展开 1.5 -> 场景示例 2 -> dialog 2.1 -> 创建Dialog组件 2.2 -> 设置弹窗响应 2.3 -> 场景示例 3 -> form 3.1 -> 创建…...

iOS 自动翻滚广告条(榜单条)实现方案
引言 在直播场景中,榜单信息、活动公告或者广告推广通常需要以醒目的方式展示,但由于屏幕空间有限,一次只能显示一条内容。为了让用户能够持续关注这些信息,我们可以实现一个自动翻滚的广告条(或榜单条)&a…...

TensorFlow深度学习实战(7)——分类任务详解
TensorFlow深度学习实战(7)——分类任务详解 0. 前言1. 分类任务1.1 分类任务简介1.2 分类与回归的区别 2. 逻辑回归3. 使用 TensorFlow 实现逻辑回归小结系列链接 0. 前言 分类任务 (Classification Task) 是机器学习中的一种监督学习问题,…...

动态规划问题——青蛙跳台阶案例分析
问题描述: 一只青蛙要跳上n级台阶,它每次可以跳 1级或者2级。问:青蛙有多少种不同的跳法可以跳完这些台阶? 举个例子: 假设台阶数 n 3 ,我们来看看青蛙有多少种跳法。 可能的跳法: 1. 跳1级…...

element-ui使用el-table,保留字段前的空白
项目名称项目编号1、XXXXX1111111111111111111 1.1 XXXXX11111111111111222222222 如上表格中,实现项目名称字段1.1前空白的效果。 从JAVA返回的数据带有空白,即数据库中插入的数据带有空白。 原先写法: <el-table><el-tabl…...

kamailio中路由模块汇总
功能模块描述请求路由 (request_route)主要处理进入的SIP请求,包含初步检查、NAT检测、CANCEL请求处理、重传处理等。处理通过REQINIT、NATDETECT、RELAY等子模块的调用。CANCEL处理对CANCEL请求进行处理,包括更新对话状态并检查事务。如果事务检查通过&…...