使用Poetry安装pywin32失败,运行ShinyHunter报win32com缺失如何解决?
解决ShinyHunter安装及运行报错问题
问题原因
- 版本不兼容:你使用的Python 3.12不支持pywin32 304这个旧版本,因此Poetry找不到对应的安装包。
- 环境隔离:pip安装的pywin32在全局Python环境中,但Poetry使用独立的虚拟环境,两者不共享依赖,所以运行时会提示找不到
win32com模块。
解决步骤
1. 更新项目依赖配置
打开项目根目录下的pyproject.toml文件,找到pywin32的依赖声明行,将版本从304修改为兼容Python 3.12的版本,比如:
pywin32 = "^306"
如果没有明确版本限制,也可以直接写成pywin32 = "*"让Poetry自动选择合适的版本。
2. 更新并重新安装依赖
在项目根目录执行命令:
python -m poetry update pywin32
完成后重新安装所有依赖:
python -m poetry install
3. 验证运行
再次执行启动命令:
python -m poetry run python src/main.py --help
此时应该能正常运行,不会再出现ModuleNotFoundError错误。
备选方案(快速修复)
如果不想手动修改配置文件,可以直接执行以下命令,让Poetry添加最新兼容版本的pywin32并更新依赖:
python -m poetry add pywin32@latest
执行完成后再运行python -m poetry install即可。
内容的提问来源于stack exchange,提问作者MarkuzZz
相关产品推荐
相关产品推荐

