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

Python代码打包为exe后运行出现ImportError问题求助

问题成因

你的推测正确,该报错确实由pynput模块的导入引发。
你使用的打包工具(通常是PyInstaller)无法自动识别pynput的隐式依赖:pynput的键盘、鼠标监听功能底层依赖系统适配的内部模块,这部分模块不会被打包工具的常规导入扫描逻辑识别,导致打包后的exe运行时找不到对应依赖,抛出导入错误。

解决方案

按照以下步骤操作即可解决:

  • 打包时添加--hidden-import参数显式声明pynput的依赖模块,Windows系统打包命令示例:
pyinstaller -F -w 你的脚本文件名.py --hidden-import=pynput.keyboard._win32 --hidden-import=pynput.mouse._win32

补充说明:Mac系统将命令中_win32替换为_darwin,Linux系统替换为_xorg即可

  • 如果上述操作后仍有报错,可以手动修改打包生成的.spec配置文件,找到hiddenimports配置项,补充如下内容:
hiddenimports = [
    'pynput.keyboard._win32',
    'pynput.mouse._win32'
]

修改完成后使用spec文件执行打包:pyinstaller 你的脚本文件名.spec

  • 如果运行exe时提示权限错误,右键点击exe选择「以管理员身份运行」即可,键盘监听类操作需要系统高权限支持。
  • 若打包后exe被杀毒软件拦截删除,将exe所在目录添加到杀毒软件信任列表即可,pynput的监听行为会被部分杀毒软件判定为风险操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:54:05