快速结论:在 ComfyUI Manager 中启用 downgrade_blacklist 后,凡是包名含连字符的包(如 opencv-python 或 triton-windows),这一条屏蔽记录都不会生效,原因是写入被安装包列表时连字符会转换成下划线,而检查时却用原始包名查找。优先排查这一点:当前 Manager 版本是否低于包含该修复的版本。
适用环境:ComfyUI-Manager 4.2.2 与 4.3(PyPI 最新),Windows,Python 3.13。Issue 未给出 CUDA、PyTorch、显卡信息。
最快修复方案:暂无在 4.2.2/4.3 上可用的配置级一步修复方案。该问题由 #3489 修复并合入 manager-v4(提交 50131e3b),需升级到包含此修复的下一个 v4 版本。
注意事项:Issue 明确指出该修复不在 PyPI 的 4.3 中,升级前打补丁或改配置都只能绕过,不能真正解决;补丁内容以 Issue 建议为准,属于尚未在 4.3 上验证的做法。
问题场景
在 ComfyUI Manager 中配置 config.ini 的 downgrade_blacklist(例如 numpy, opencv-python),期望阻止依赖把已安装的包降级。安装某个要求 opencv-python~=4.8.1.78 的节点包(如 comfyui_bmad_nodes)时,检查器没有拦下这次降级,OpenCV 5.0 被降为 4.8.1(面向 NumPy 1.x 的构建),而环境里仍是 NumPy 2.5,随后十个包在导入时报 _ARRAY_API not found。
报错原文
downgrade_blacklist never protects packages whose names contain a hyphen (opencv-python, triton-windows)
numpy==1.26.4 -> True (blocked, correct)
opencv-python~=4.8.1.78 -> False (allowed, wrong)
opencv-python -> False (treated as not installed)
_ARRAY_API not found
原因分析
已安装包名在 manager_util.get_installed_packages() 中被规范为 lower().replace('-', '_')(如 opencv_python),但 glob/manager_core.py、legacy/manager_core.py 里的 is_blacklisted() 和 is_installed(),以及 prestartup_script.py 的预启动检查,都按依赖声明中的原始写法(opencv-python)去查找。对于含连字符的包,查找必然落空,因此降级检查从不触发,甚至把已安装的包当作未安装。
环境排查
- 确认 ComfyUI-Manager 版本:4.2.2 与 4.3 均受影响,修复尚未进入 PyPI 的 4.3。
- 确认 Python 版本为 3.13(Issue 环境)。
- 检查
config.ini中downgrade_blacklist是否包含含连字符的包名。 - 检查涉及节点的 requirements 中是否出现
opencv-python、triton-windows等下划线/连字符混用的包名。 - 检查已安装的 opencv 与 numpy 版本是否已与
downgrade_blacklist中的意图不符。
解决步骤
- 先记录当前环境是否已被降级:确认 opencv、numpy 的实际版本,避免问题被后续安装掩盖。
- 升级到包含 #3489 修复的下一个 v4 版本;PyPI 上的 4.3 不包含该修复,需等新版本发布。
- 升级后,包名比较不再区分大小写以及
-、_、.,适用于downgrade_blacklist、pip_blacklist.list、依赖声明和已安装包查找。 - 若因环境原因暂时无法升级,可优先尝试按 Issue 建议的补丁方向,在查询前对被检查的包名和黑名单条目统一做
name.lower().replace('-', '_')规范化;此做法未在 4.3 上验证,修改前应备份。 - 已发生降级与
_ARRAY_API not found的环境,需按实际依赖关系恢复 opencv 与 numpy 的匹配版本,再重试导入失败的包。
验证方法
在安装 opencv-python 5.0.0.93 且其列入 downgrade_blacklist 的条件下,对修复后版本调用 manager_core.is_blacklisted(),三项都应为 True(阻断):numpy==1.26.4、opencv-python~=4.8.1.78、opencv-python(识别为已安装)。triton-windows 同理。该 PR 还覆盖了先写下限后写上界的 numpy>=1.24,<2、括号、直接引用(name @ url)以及 5.0.0.93 这类四段版本号。
参考来源
ltdrdata/ComfyUI-Manager #3458
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


