Triton tcc.exe执行出错解决方案

在ComfyUI中使用wan2.2 animate 的角色替换和动作同步工作流的时候,一直遇到一个tcc.exe错误绕不过去。

花了好长时间才解决,有必要记录一下。

错误信息如下:

Command '['D:\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\triton\\runtime\\tcc\\tcc.exe', 'C:\\Users\\amd\\AppData\\Local\\Temp\\tmprg_0shad\\cuda_utils.c', '-O3', '-shared', '-Wno-psabi', '-o', 'C:\\Users\\amd\\AppData\\Local\\Temp\\tmprg_0shad\\cuda_utils.cp313-win_amd64.pyd', '-fPIC', '-D_Py_USE_GCC_BUILTIN_ATOMICS', '-lcuda', '-lpython313', '-LD:\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\triton\\backends\\nvidia\\lib', '-LD:\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\triton\\backends\\nvidia\\lib\\x64', '-ID:\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\triton\\backends\\nvidia\\include', '-ID:\\ComfyUI_windows_portable\\python_embeded\\Lib\\site-packages\\triton\\backends\\nvidia\\include', '-IC:\\Users\\amd\\AppData\\Local\\Temp\\tmprg_0shad', '-ID:\\ComfyUI_windows_portable\\python_embeded\\Include']' returned non-zero exit status 1.  

刚开始一直怀疑是版本问题,排查了Python版本,Torch版本,Cuda+Cudnn版本,Triton版本。

花费了大量时间来检查各种组合,始终报这个错误。中间也尝试过把这个问题扔给GPT,但是它说了一大堆,没有击中问题的核心。

我多次重启上下文之后,它似乎说到了重点:

这个报错的核心是Triton 用 tcc.exe 在 Windows 上即时编译 cuda_utils.c 时链接失败,命令里能看到它要链接 -lcuda-lpython313,而你的 ComfyUI 是“嵌入式 Python 3.13(cp313)”。在 Windows 上,这通常有几个致命点:

症结定位(从高概率到低概率)

  1. 缺少 python313.lib(开发版 .lib)
    • 嵌入式/便携版 Python 通常没有 libs/python313.lib,导致 -lpython313 链接失败。
  2. CUDA 开发库未就绪
    • 需要完整 CUDA Toolkit(不仅是驱动),并且 cuda.lib 必须在 LIB 路径中;相关 DLL(如 nvrtc64_xxx_0.dll)需在 PATH 中。
  3. PyTorch/Triton 与 Python 3.13 的组合不成熟
    • 目前很多 Windows 预编译轮子优先支持 3.10/3.11(甚至 3.12),3.13 还在跟进。你这套组合强行触发了 Triton 的 tcc 链路。
  4. 传入了不适配 Windows 的编译参数
    • 命令里有 -fPIC(典型 *nix 旗标),在 Windows 下无意义甚至报错;这通常是某版本 Triton/构建链路的兼容性问题。

从后面可以知道,它说的的第一点是正确的。

但是它给的解决方案却并不合适,按他的路走又是一条漫长的不归路。

它的解决方案是让我安装Python3.10版,而我的ComfyUI是Python3.13。

如果要修改Python版本,会导致一堆预装的依赖出现问题,全部重装绝对是一个大工程。

但是谜底还没解开之前,它这个思路有看起来很有道理。

犹豫不决的时候突然想到,有问题应该去Github上的对应项目上找答案才比较靠谱。

经过分析,上面的错误来自 ComfyUI-WanVideoWrapper 这个插件。

通过项目的issues 终于找到了轻松解决问题的方法。

这个问题的关键就是因为ComfyUI使用了便携版的Python,缺少了include和libs这两个文件夹。只要安装完整版的Python并拷贝这两个文件夹到ComfyUI的python_embeded文件夹里面就可以了。

具体的说明和文件下载,可以参考下面两个地址

WanVideoWrapper issues:

https://github.com/kijai/ComfyUI-WanVideoWrapper/issues/772

triton-windows

https://github.com/woct0rdho/triton-windows#8-special-notes-for-comfyui-with-embeded-python
 

小尾巴==========================
公众号:托尼不是塔克
交流群
知识星球
==============================

 



发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注