报错 No module named 'pkg_resources'(setuptools 升级后 install.py 直接崩溃) / 全站资源搜索
搜索 更新 2026-10-02
报错 031 依赖缺失与自定义节点安装失败 有来源可查

报错 No module named 'pkg_resources'(setuptools 升级后 install.py 直接崩溃)

报错原文(原样)
Traceback (most recent call last):
File "C:\ComfyUI\custom_nodes\ComfyUI-ReActor\install.py", line 7, in <module>
from pkg_resources import get_distribution as distributions
ModuleNotFoundError: No module named 'pkg_resources'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\ComfyUI\custom_nodes\ComfyUI-ReActor\install.py", line 9, in <module>
from importlib_metadata import distributions
ModuleNotFoundError: No module named 'importlib_metadata'
Done
检索关键词 No module named 'pkg_resources'、pkg_resources is deprecated as an API、importlib_metadata、setuptools、install.py、install.bat
先看这一句 双击节点的 install.bat 或让 Manager 执行安装脚本时,脚本立刻抛 No module named 'pkg_resources'(有时紧跟 No module named 'importlib_metadata'),然后打印 Done 退出,依赖一个都没装。
适用版本 取决于环境里 setuptools 版本:较新的 setuptools 已移除 pkg_resources;同时会出现 UserWarning: pkg_resources is deprecated as an API 的过渡期提示 · 核实日期 2026-09-26 · 状态 已核实
适用环境:Windows 便携版、秋叶/绘世整合包、ComfyUI Desktop、Linux + 云 GPU、Docker/服务器

现象与触发场景

常见触发场景:

  • 环境里 setuptools 被升到较新版本,pkg_resources 已被移除
  • 某些精简/嵌入版 Python 环境里本来就缺少 setuptools
  • 节点安装脚本同时尝试 importlib_metadata 兜底,但兜底包也没装

根因

  • pkg_resources 属于 setuptools,setuptools 新版本已移除该模块,导致仍使用它的 install.py 直接失败
  • Embedded/精简 Python 常见不带 setuptools,节点安装脚本依赖它就必然报错
  • 脚本的异常兜底(importlib_metadata)也没有被预装,两层都失败

解决步骤

已按「最可能有效」排序。请从上往下做,每做完一步用「验证」确认,不要一次改五处。

  1. 用 ComfyUI 解释器安装 setuptools(与 importlib_metadata 兜底包)
    先补上缺失模块再重跑安装脚本。若报错同时提到 importlib_metadata,把它一起装上更稳妥。
    ..\..\python_embeded\python.exe -m pip install setuptools
    ..\..\python_embeded\python.exe -m pip install importlib_metadata
  2. 需要旧行为时钉住 setuptools 版本
    若节点脚本强烈依赖 pkg_resources,可临时把 setuptools 钉到仍带该模块的版本(社区实践中常见做法是钉在 81 以下),装完依赖后建议再评估是否放开,避免长期停留在旧版本。
    ..\..\python_embeded\python.exe -m pip install "setuptools<81"
  3. 验证模块可用后再跑安装脚本
    先直接验证模块能导入,再执行节点目录里的 install.bat / install.py,避免脚本再在同一个点上失败。
    ..\..\python_embeded\python.exe -c "import pkg_resources; print('ok')"

验证是否修好

重跑节点的 install.bat,日志不再出现 No module named 'pkg_resources',并继续走到依赖安装阶段;重启 ComfyUI 后该节点可用。

补充说明

同一条日志里脚本先尝试 pkg_resources、失败后再尝试 importlib_metadata,说明该脚本本身对 setuptools 版本较敏感;若两个都装仍失败,应把这个 issue 反馈给节点作者,请其改用 importlib.metadata(标准库)。关于版本表述:setuptools 的官方弃用提示原文为 “The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.”,即 <81 是官方给的“仍可用”界线,而用户的 ModuleNotFoundError 出现在 pkg_resources 真正被移除之后的环境,因此本条以“先补装 setuptools,必要时再钉版本”为排序,具体该钉到哪个版本请按你环境实测决定。

来源

按可信度排列:官方 issue / 官方文档 > 节点仓库 issue > 社区帖 > 中文社区文章。 链接以纯文本给出(本站不做站外跳转),需要核对时请自行复制到浏览器打开。
  1. [85] (节点仓库 issue) This node is impossible to install. · Issue #216 · Gourieff/ComfyUI-Re https://github.com/Gourieff/ComfyUI-ReActor/issues/216
  2. [67] (节点仓库 issue) i am getting error when try to run install.bat · Issue #154 · Gourieff https://github.com/Gourieff/ComfyUI-ReActor/issues/154

本条报错提到的节点仓库

下面这些节点仓库的名字出现在本条报错的正文里。这里只说「名字出现过」,没有断定问题就是它引起的; 点进去可以看这个包的用途、适配模型与下载量。

这条报错要用到的东西

按本条报错所属的类别(依赖缺失与自定义节点安装失败)列出站内相关的下载包与板块入口。 它们不是「必须下载才能修好」,而是这一类问题里最常要动到的东西;具体怎么做,以上面的解决步骤为准。

常用节点速查包常用节点参数小抄 / 常见连法示意图 待挂载
节点库按用途找节点仓库,附适配模型与下载量 板块

同一类别的其他条目

这个解法对你有效吗 记录只存在你自己的浏览器里,不需要注册账号。

返回报错库