Stable Diffusion SDXL构建报错:无法找到triton==2.0.0适配版本
解决SDXL项目依赖安装中triton==2.0.0找不到的问题
问题原因
核心问题是triton==2.0.0没有针对**Python 3.8 + macOS ARM64(M系列芯片)**的预编译包,pip无法匹配到对应版本导致安装失败。另外,requirements里指定的transformers==4.19.1版本偏老,和Python 3.8的兼容性也存在潜在风险,但当前直接阻断安装的是triton的版本问题。
解决办法
方法一:修改requirements文件(最简单)
编辑项目根目录下的requirements/pt2.txt,找到triton==2.0.0这一行:
- 直接注释掉(SDXL在macOS CPU环境下运行不需要triton,它是NVIDIA GPU的专用加速库);
- 或者把版本约束放宽为
triton>=2.0.0,让pip自动查找兼容Python 3.8的版本。
修改后重新执行安装命令:
pip3 install -r requirements/pt2.txt
方法二:用conda搭建环境(更稳定)
conda对跨平台依赖的兼容性处理比pip更友好,步骤如下:
# 创建Python 3.8的conda环境 conda create -n sdxl_env python=3.8 -y conda activate sdxl_env # 克隆项目 git clone git@github.com:Stability-AI/generative-models.git cd generative-models # 先忽略依赖安装主包,再手动补装兼容依赖 pip install -r requirements/pt2.txt --no-deps # 安装适配macOS ARM的PyTorch(CPU版) pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu # 安装其他核心依赖 pip install transformers==4.19.1 torchmetrics>=1.0.1 tqdm>=4.65.0
方法三:升级Python版本(需权衡)
如果愿意调整Python版本,可以升级到3.9:
- 3.9有triton 2.0.0的兼容包;
- 但要注意之前遇到的部分依赖
Requires-Python >=3.7,<3.10的问题,需要手动替换这些依赖为兼容3.9的旧版本,或者找项目适配3.9的分支版本。
额外注意事项
- macOS M系列芯片上运行SDXL默认是CPU模式,速度会较慢,若有需求可尝试适配Metal加速的分支;
- 若仅做推理而非训练,建议直接用SDXL WebUI这类封装好的工具,省去环境配置的麻烦。
内容的提问来源于stack exchange,提问作者clay
相关产品推荐
相关产品推荐

