ComfyUI-MuseTalk插件导入失败,报错:init_model() got an unexpected keyword argument ‘weights_only’的解决办法!
前面我已经分析过ComfyUI-MuseTalk 节点报错 “MMCV==2.2.0 is used but incompatib,Please install mmcv>=2.0.0rc4, <2.2.0”的解决办法!感兴趣可以点击查看
不过,在我将comfyui的环境更新为Torch 2.6.0+CUDA 12.4之后,启动comfyui时, ComfyUI-MuseTalk插件却遇到新的问题无法导入,具体报错:
File “G:\AIGC\ComfyUI-aki-v1.3/custom_nodes/ComfyUI-MuseTalk\musetalk\utils\preprocessing.py”, line 29, in <module>
model = init_model(config_file, checkpoint_file, device=device,weights_only=False)
TypeError: init_model() got an unexpected keyword argument ‘weights_only’Cannot import G:\AIGC\ComfyUI-aki-v1.3\custom_nodes\ComfyUI-MuseTalk module for custom nodes: init_model() got an unexpected keyword argument ‘weights_only’
这个问题困扰了2天,尝试各种方法都没有解决,不过最终在deepseek的协助下,解决了这个问题!如果你也有comfyui相关的问题,也可以使用deepseek,直接将错误代码发送给deepseek,然后他就能帮助你解决错误!

错误产生的原因:
PyTorch 2.6+ 默认启用 weights_only=True
安全模式,仅允许加载张量/基础类型。若文件包含 numpy
对象或自定义类(如您的错误中提示 GLOBAL numpy.ndarray was not an allowed global
),则会触发此错误
解决方法:
这里我使用了deepseek推荐的全局修复方案,在comfyui根目录下的main.py文件中添加下面的代码以便全局覆写 torch.load
,可以修复所有后续 torch.load()
调用!注意直接在文件最顶端添加!
import torch
import numpy as np# 添加 numpy 支持
torch.serialization.add_safe_globals([np.ndarray])# 全局重写 torch.load 行为
_original_torch_load = torch.load
def patched_torch_load(*args, **kwargs):
kwargs.setdefault(‘weights_only’, False) # 默认关闭安全模式
return _original_torch_load(*args, **kwargs)
torch.load = patched_torch_load
添加完成后保存,然后重新启动comfyui, ComfyUI-MuseTalk插件即可正常导入使用!