如何修复Osintgram执行pip install -r requirements.txt时的依赖冲突错误
解决Osintgram安装时的依赖冲突问题
问题重现
执行pip install -r requirements.txt时出现以下依赖冲突:
pip的依赖解析器目前未考虑所有已安装的包,此行为导致以下依赖冲突。 crackmapexec 5.4.0 需要 aioconsole<0.4.0,>=0.3.3,但您安装的是不兼容的 aioconsole 0.3.1。 crackmapexec 5.4.0 需要 minikerberos==0.3.3,但您安装的是不兼容的 minikerberos 0.3.5。 crackmapexec 5.4.0 需要 neo4j<5.0.0,>=4.1.1,但您安装的是不兼容的 neo4j 5.2.dev0。 crackmapexec 5.4.0 需要 pypsrp<0.8.0,>=0.7.0,但您安装的是不兼容的 pypsrp 0.5.0。 crackmapexec 5.4.0 需要 requests>=2.27.1,但您安装的是不兼容的 requests 2.24.0。 crackmapexec 5.4.0 需要 xmltodict<0.13.0,>=0.12.0,但您安装的是不兼容的 xmltodict 0.13.0。 pyppeteer 1.0.1 需要 pyee<9.0.0,>=8.1.0,但您安装的是不兼容的 pyee 9.0.4。
解决方案
1. 使用虚拟环境隔离依赖(推荐)
虚拟环境可避免全局Python环境的依赖污染,是解决这类冲突的最优方案:
- 创建虚拟环境:
python -m venv osintgram-env - 激活虚拟环境:
- Windows系统:
osintgram-env\Scripts\activate - Linux/macOS系统:
source osintgram-env/bin/activate
- Windows系统:
- 激活成功后,重新执行安装命令:
pip install -r requirements.txt
2. 手动安装兼容版本的依赖包
若不想使用虚拟环境,可先卸载冲突包,再安装符合要求的版本:
- 卸载冲突包:
pip uninstall -y aioconsole minikerberos neo4j pypsrp requests xmltodict pyee - 安装指定兼容版本:
pip install aioconsole==0.3.3 minikerberos==0.3.3 neo4j==4.4.18 pypsrp==0.7.0 requests==2.31.0 xmltodict==0.12.0 pyee==8.2.2 - 再次执行原安装命令:
pip install -r requirements.txt
3. 强制覆盖安装(谨慎使用)
此方法会覆盖已安装的包,可能导致依赖这些包的其他工具无法正常工作,仅在不需要保留现有crackmapexec等工具时使用:
- 执行强制安装命令:
pip install -r requirements.txt --force-reinstall - 或者忽略已安装的包直接安装:
pip install -r requirements.txt --ignore-installed
内容的提问来源于stack exchange,提问作者UsernameUnkown
相关产品推荐
相关产品推荐

