Debian使用sherlock时报ModuleNotFoundError:缺少requests模块
故障解决操作步骤
问题根因定位
从堆栈路径可以确认,当前运行sherlock使用的是部署在/usr/local路径下的Python 3.9环境,和Debian系统源自带的Python环境完全隔离,两个环境的pip包存储目录互不互通,跨环境安装的依赖不会被当前进程识别到,因此触发requests模块找不到的报错。
具体操作流程
- 为当前Python 3.9环境安装缺失的requests模块:
python3.9 -m pip install requests注意:不要直接执行
apt install python3-requests,该命令安装的是系统自带Python版本的依赖,无法被/usr/local路径下的Python 3.9加载识别。 - 补全sherlock全量依赖,避免后续触发其他模块导入错误:
先进入sherlock源码根目录(即堆栈中显示的路径/root/data/sherlock/),执行批量依赖安装:python3.9 -m pip install -r requirements.txt - 权限适配调整:如果是使用
sudo权限运行sherlock,安装依赖时需同步加sudo权限,否则普通用户环境安装的包无法被root身份的Python进程加载,对应安装命令为:sudo python3.9 -m pip install -r requirements.txt - 运行验证:指定对应解释器启动sherlock,避免调用全局alias绑定的其他Python版本:
python3.9 -m sherlock
内容的提问来源于stack exchange,提问作者Aaradhya Desai
相关产品推荐
相关产品推荐

