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

PyInstaller打包后出现ModuleNotFoundError: No module named 'pynput'求助

问题:PyInstaller打包后提示找不到pynput模块

直接运行代码时pynput.keyboard键盘监听器正常工作,但用PyInstaller(或auto-py-to-exe)打包后出现以下错误:

Traceback (most recent call last):
File "main.py", line 1, in
File "PyInstaller\loader\pyimod02_importers.py", line 385, in exec_module
File "hack_init_.py", line 3, in
from pynput import keyboard
ModuleNotFoundError: No module named 'pynput'
[16912] Failed to execute script 'main' due to unhandled exception

已尝试在auto-py-to-exe中添加--hidden-imports参数,但问题未解决。

相关代码

hack/init.py

import json
import os
from pynput import keyboard
import pyautogui
import pytesseract
import _thread
from .window import *
from time import sleep
from openai import OpenAI
import pyscreenshot

键盘监听器代码

starting=False
def on_press(key):
    global starting
    if key == keyboard.Key.esc:
        starting=False

listener = keyboard.Listener(on_press=on_press)
listener.start()

解决方法

  • 修正hidden-import参数写法:auto-py-to-exe中应使用--hidden-import(单数形式)而非--hidden-imports,如果需要导入多个子模块,可重复添加参数,比如--hidden-import pynput --hidden-import pynput.keyboard
  • 手动指定模块路径:如果pynput安装路径特殊,打包时用--paths参数指向其所在的site-packages目录,示例:
    pyinstaller --paths C:\PythonXX\Lib\site-packages main.py
    
  • 通过spec文件手动配置:
    1. 生成spec文件:pyi-makespec main.py
    2. 打开生成的main.spec,在hiddenimports列表中添加'pynput', 'pynput.keyboard',示例片段:
      a = Analysis(
          ['main.py'],
          pathex=[],
          binaries=[],
          datas=[],
          hiddenimports=['pynput', 'pynput.keyboard'],
          hookspath=[],
          hooksconfig={},
          runtime_hooks=[],
          excludes=[],
          noarchive=False,
      )
      
    3. 基于spec文件打包:pyinstaller main.spec
  • 重新安装pynput:确保当前打包用的Python环境中pynput安装正常,执行pip install --force-reinstall pynput修复可能的安装损坏
  • 检查auto-py-to-exe配置:在"Advanced"选项卡的"Hidden Imports"输入框中,直接填写pynput,pynput.keyboard(逗号分隔,无需加参数前缀),再重新打包

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 04:57:10