ModuleNotFoundError: No module named ‘pkg_resources‘

本文主要解决Python执行脚本报错问题。问题原因是setuptools模块未找到,解决方案是用pip安装该模块。若问题仍存在,可卸载遗留版本后重装;若执行异常,可尝试升级pip、setuptools和wheel,但升级可能影响依赖旧版本的脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

安装python后,再使用python执行脚本时,报了下面的错误:

manim -pql ~/Desktop/manim/Untitled-1.py CreateCircle
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "D:\Programs\python\Scripts\manim.exe\__main__.py", line 4, in <module>
  File "D:\Programs\python\Lib\site-packages\manim\__init__.py", line 6, in <module>
    import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'

问题分析

Python 执行脚本时出现问题:The ModuleNotFoundError: No module named 'pkg_resources' 的原因是 setuptools 模块未找到。

解决方案

既然 setuptools 模块找不到,就使用pip进行安装

 pip install --upgrade setuptools
Collecting setuptools
  Obtaining dependency information for setuptools from https://files.pythonhosted.org/packages/55/3a/5121b58b578a598b269537e09a316ad2a94fdd561a2c6eb75cd68578cc6b/setuptools-69.0.3-py3-none-any.whl.metadata
  Using cached setuptools-69.0.3-py3-none-any.whl.metadata (6.3 kB)
Using cached setuptools-69.0.3-py3-none-any.whl (819 kB)
Installing collected packages: setuptools
Successfully installed setuptools-69.0.3

安装完成后,一般问题就消失了。

如果问题仍未消失,卸载遗留的版本后重新安装。

pip uninstall -y setuptools
# then install again
pip install setuptools

如果上面的执行不能正常执行,则尝试升级pip, setuptools, 和wheel到最新的版本。(!!!慎重,因为升级后可能造成一些依赖旧版本的脚本不能工作)

python -m pip install --upgrade pip setuptools wheel
### Python 中 `dirsearch` 运行时出现 `ModuleNotFoundError: No module named 'pkg_resources'` 的解决方案 当尝试运行 `dirsearch` 脚本并遇到 `ModuleNotFoundError: No module named 'pkg_resources'` 错误时,这通常表明系统的 Python 环境中缺少必要的依赖项或版本不兼容。以下是解决问题的方法: #### 方法一:安装或升级 `setuptools` 由于 `pkg_resources` 是由 `setuptools` 提供的一个子模块[^1],因此可以通过重新安装或更新 `setuptools` 来修复此问题。 对于基于 Debian/Ubuntu 的 Linux 发行版: ```bash sudo apt-get update && sudo apt-get install python3-setuptools ``` 对于基于 RedHat/CentOS/Fedora 的发行版: ```bash sudo yum install python3-setuptools ``` 或者通过 pip 工具全局安装最新版本的 `setuptools`: ```bash pip3 install --upgrade setuptools ``` 如果使用的是虚拟环境,则需激活该环境后再执行上述命令。 --- #### 方法二:手动安装缺失的包 某些情况下,即使已安装 `setuptools`,仍可能因路径配置或其他原因无法加载 `pkg_resources`。此时可以单独安装它作为独立包: ```bash pip3 install pkg-resources==0.0.0 ``` 注意:这种方法仅适用于特定场景下的临时解决办法,推荐优先考虑方法一。 --- #### 方法三:检查 Python 版本与环境冲突 确认当前使用的 Python 版本是否匹配 `dirsearch` 的需求。例如,在较新的 Python 版本 (如 3.8+) 下,可能会触发关于 `pkg_resources` 的弃用警告[^2]。这种情况下可采取以下措施之一来规避潜在风险: - 使用官方建议替代方案访问元数据功能; - 或者降级到更稳定的旧版解释器以维持向后兼容性。 具体操作如下所示: ```python from importlib.metadata import version, PackageNotFoundError try: ver = version('your_package_name') except PackageNotFoundError: pass # handle exception accordingly... ``` > **重要提示**: 如果继续沿用传统方式调用废弃接口(`from pkg_resources ...`)则未来很可能面临更多不可预见的技术债务累积. --- #### 验证修复效果 完成以上任意一种处理之后再次测试工具的功能状态: ```bash ~$ dirsearch --version # 应返回类似下面的结果而不再报错 /usr/share/dirsearch/dirsearch.py:... DeprecationWarning ... dirsearch v0.4.x ``` --- ### 总结 综上所述,针对此类错误最彻底有效的做法就是确保基础构建库(setuptools)处于良好维护状态并通过适当渠道获取其最新稳定发布版本;与此同时也要留意目标应用程序本身是否存在其他隐含前提条件从而提前做好相应准备以免后续遭遇不必要的麻烦。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值