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

含pynput和requests的Python项目打包独立exe失败求助

解决PyInstaller打包时pynput模块缺失的问题

1. 修正--hidden-import的使用方式

你之前的命令错误地将两个模块放在同一个--hidden-import参数中,PyInstaller的该参数一次只能指定一个模块,多个模块需要分开声明:

pyinstaller --onefile --noconsole --hidden-import pynput --hidden-import requests main.py

2. 结合requirements.txt确保依赖环境正确

既然已创建requirements.txt,先确保依赖安装无误(建议使用虚拟环境隔离依赖):

  • 安装依赖:
    pip install -r requirements.txt
    
  • 激活虚拟环境后再执行修正后的打包命令,避免全局环境依赖干扰。

3. 使用spec文件手动配置依赖(更可靠)

如果命令行参数仍不生效,生成spec文件手动编辑是更可控的方案:

  • 生成初始spec文件:
    pyinstaller --onefile --noconsole main.py
    
  • 打开生成的main.spec,找到hiddenimports列表,补充pynput及其子模块(部分场景下子模块也需显式声明):
    hiddenimports=['pynput', 'pynput.keyboard', 'pynput.mouse'],
    
  • 基于spec文件重新打包:
    pyinstaller main.spec
    

4. 排查虚拟环境与依赖路径问题

  • 确保打包时处于虚拟环境激活状态,PyInstaller会优先读取当前环境的依赖;
  • 验证pynput的安装路径,确认PyInstaller可访问:
    pip show pynput
    
    输出中的Location字段即为模块所在路径,若路径不在PyInstaller的搜索范围内,可通过--paths参数手动添加:
    pyinstaller --onefile --noconsole --paths "/path/to/pynput" main.py
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 07:47:05