You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.11/3.9报错‘No module named "unittest.mock"’求助

解决Python中"No module named 'unittest.mock'"报错问题

在Debian Bookworm的Python 3.11.2和Debian Bullseye的Python 3.9环境中,运行导入unittest.mock的代码时出现No module named "unittest.mock"报错,即使官方文档说明该模块自Python3.3起就是内置模块。测试代码如下:

import unittest.mock
if __name__ == '__main__':
    print("Hello world")

可能的解决办法:

  • 修复系统标准库缺失
    Debian系系统可能会拆分Python标准库为独立包,unittest.mock可能未随基础Python安装。执行以下命令安装对应系统包:
sudo apt update && sudo apt install python3-unittest.mock

若上述包不存在,可尝试安装python3-testtools或检查python3-stdlib相关包是否完整。

  • 重建虚拟环境
    如果使用虚拟环境,可能创建时参数异常导致标准库未完整复制。重新创建虚拟环境:
rm -rf your_venv
python3 -m venv your_venv
source your_venv/bin/activate
  • 排查命名冲突
    检查当前目录下是否存在unittest.py或mock.py文件,这类文件会覆盖标准库模块,发现后重命名或删除即可。

  • 确认Python解释器版本
    确保运行代码的Python解释器是目标版本(3.11/3.9),通过以下命令验证:

python3 --version

若版本不符,使用对应版本命令运行(如python3.11或python3.9)。

内容的提问来源于stack exchange,提问作者Hamatoma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 03:10:53