跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

解决 Python 报错:No module named pkg_resources

解决了 Python 运行深度学习脚本时遇到的 ModuleNotFoundError: No module named 'pkg_resources' 问题。原因是 setuptools 82.0.0 及以上版本移除了 pkg_resources 模块。解决方案是将 setuptools 降级到 82.0.0 以下版本,例如执行 pip install "setuptools<82"。降级后依赖即可正常加载,无需升级第三方库。

心动瞬间发布于 2026/3/30更新于 2026/9/1079 浏览

快速说明

遇到 ModuleNotFoundError: No module named 'pkg_resources' 问题

不要去升级 setuptools,而是执行 pip install "setuptools<82" 将它降级!

踩坑背景

今天在跑一个深度学习项目的推理脚本(inference_stage2.py)时,遇到了一个极其诡异的报错。我的环境是配置好的,依赖也装全了,但只要程序一运行到加载 PyTorch 模型权重的环节,就会直接崩溃。

完整的报错信息如下:

报错提示找不到 pkg_resources 这个模块。

排查过程

看到 No module named 'pkg_resources',我的第一反应是:这通常是 setuptools 没有正确安装引起的。于是我进行了一系列常规操作:甚至尝试了清缓存、查 sys.path (统统失败)

只要装的是最新的 setuptools,pkg_resources 就像是消失了一样。

用 Conda 强制重装 (失败)

conda install -c conda-forge setuptools --force-reinstall

Conda 顺利跑完,但测试依然提示找不到模块。

升级并强制重装 setuptools (失败)

pip install --upgrade --force-reinstall setuptools

终端显示成功安装了最新的 setuptools-82.0.1,但在 Python 里测试 import pkg_resources 依然报错!

根本原因

经过一番查找,终于发现了真相——这是 Python 包装生态最近的一次重大更新导致的。

pkg_resources 是 setuptools 库提供的一个包资源管理模块。由于它在运行时有一定的性能开销,Python 官方早在几年前就开始推荐使用内置的 importlib.metadata 和 importlib.resources 来替代它。

在 2025 年 2 月初,setuptools 发布了里程碑式的版本更新(版本号 82.0.0 及以上)。在这个版本中,官方正式、彻底地移除 pkg_resources 模块!

这就导致了一个致命的断层:你通过 pip install setuptools 或者 Conda 默认拉取到了最新的 82.x 版本(没有了 pkg_resources)。但是你环境中安装的某些旧版第三方库(比如本例中的 pytorch_lightning / lightning_fabric),它们的源码里依然写着 import pkg_resources。于是,由于底层依赖的抽离,哪怕你疯狂 reinstall、清缓存,代码也注定会崩溃。

解决方案

知道原因后,解决起来就非常简单了。

方案:降级 setuptools

如果你不想或者不能升级代码里的第三方库(比如老项目需要固定的版本),直接将 setuptools 降级到 82.0.0 以下即可(最快、最稳妥的方法)。

执行以下命令:

pip install "setuptools<82"

降级完成后,再次测试:

大功告成,之前的推理脚本终于可以顺利运行了。

总结

在深度学习和 Python 开发中,我们经常遇到某个库昨天还好好的,今天重新建个虚拟环境就跑不通了。很大一部分原因就是某个底层依赖(如 setuptools, numpy, protobuf 等)发布了 Breaking Change (破坏性更新)。

目录

  1. 快速说明
  2. 踩坑背景
  3. 排查过程
  4. 根本原因
  5. 解决方案
  6. 方案:降级 setuptools
  7. 总结

更多推荐文章

查看全部
  • DEIM在VisDrone2019无人机数据集上的实战训练与部署
  • Windows 下 Python 工具 uv 安装后路径配置方法
  • Java Lambda forEach 遍历中如何实现类似 break 的退出操作
  • 前端实战:实现浏览器通知功能
  • AI 图像生成指南:从原理到实战
  • ClawdBot 本地 AI 网关:Docker 镜像集成 Whisper 与 PaddleOCR 部署
  • Git LFS 跨平台安装指南:Linux、macOS 与 Windows
  • Windows 11 本地部署 OpenClaw 实操:集成 Telegram 机器人与网页搜索能力
  • C++ vector 全面解析:从基础用法到深度剖析
  • Stable Diffusion v1.5 跨文化风格生成实战:浮世绘、拜占庭与非洲图腾
  • Python 循环结构详解:for-in 与 while 用法
  • 飞书机器人对接 Claude Code:手机端 AI 编程自动化方案
  • 生产级 AI 服务优化(二):Flask 蓝图与日志管理
  • Git Config 核心配置详解:层级、命令与避坑
  • SQL Server 2025 数据库安装图文教程
  • OpenClaw 本地 AI 助手安装、配置与钉钉接入指南
  • 从 vw/vh 到 clamp():前端响应式设计痛点与进化
  • Qt Creator 18.0.2 跨平台 IDE:支持 Qt、QML 与 C++
  • FPGA 摄像头采集处理显示指南:OV5640 至 HDMI 实时显示
  • DankDroneDownloader:大疆无人机固件下载工具使用指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online