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

使用PyInstaller打包时报错No module named 'pyWinhook'如何解决?

PyInstaller打包触发pyWinhook ModuleNotFoundError的通用规范解决方案

该报错核心原因是pyWinhook依赖SWIG生成的底层绑定文件,PyInstaller的自动依赖检索逻辑无法识别这类非Python直接导入的二进制资源,因此单独配置hidden-import无效。以下是几种通用规范方案,无需手动修改Python源码目录文件:

  • 使用预编译的pyWinhook安装包
    放弃默认pip install pyWinhook的安装方式,下载和你Python版本、系统架构匹配的预编译whl包本地安装,预编译包已经内置了完整的SWIG生成绑定文件,安装完成后直接重新打包即可解决问题。

  • 打包时显式添加二进制依赖
    通过PyInstaller的--add-binary参数直接指定pyWinhook目录下的绑定文件路径,无需修改系统文件。Windows环境下打包命令示例:

    pyinstaller --add-binary "%PYTHONPATH%\Lib\site-packages\pyWinhook\_cpyWinhook.pyd;." ScreenShot.py
    

    把命令中的%PYTHONPATH%替换为你本地Python的安装路径即可,PyInstaller会自动将该二进制依赖打包到最终程序目录中。

  • 通过spec配置文件固化依赖规则
    首次打包时生成spec配置文件,在配置的Analysis区块的binaries字段中添加pyWinhook绑定文件的路径配置,后续打包直接指定spec文件即可,不需要每次手动输入长命令,适合多次迭代打包的项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 01:54:02