解决mitmproxy脚本报错:找不到logging.handlers模块
解决mitmdump运行脚本时提示"No module named 'logging.handlers'"的问题
问题原因
你使用的是mitmproxy的二进制预编译版本,这类版本自带了裁剪优化过的Python运行环境,为缩小体积移除了logging.handlers这类标准库非核心组件,导致脚本无法找到该模块。系统Python环境的logging模块安装状态不会影响mitmproxy的独立环境。
解决方案
方案1:使用源码安装版mitmproxy(推荐)
通过pip安装mitmproxy会使用你可控的Python环境,标准库完整:
- 卸载现有二进制版本:
(安装路径不同可自行调整)sudo rm -rf /usr/local/bin/mitmproxy /usr/local/bin/mitmdump /usr/local/bin/mitmweb - 创建并激活Python虚拟环境(以Python3.11为例):
python3.11 -m venv mitmproxy-venv source mitmproxy-venv/bin/activate - 安装指定版本的mitmproxy:
pip install mitmproxy==9.0.1 - 重新运行脚本:
mitmdump -q -s mitmproxy_logging_script.py
方案2:修改脚本替换logging.handlers用法
若不想重新安装mitmproxy,可调整脚本用基础logging组件替代:
- 若脚本使用
RotatingFileHandler或TimedRotatingFileHandler,替换为logging.FileHandler并手动实现简易日志切割逻辑; - 检查导入语句,确保是
import logging.handlers而非错误路径引用。
内容的提问来源于stack exchange,提问作者jiru
相关产品推荐
相关产品推荐

