Python 键盘模块在将脚本转换为exe时出现溢出错误

Python 键盘模块在将脚本转换为exe时出现溢出错误,python,exe,pyinstaller,Python,Exe,Pyinstaller,我试图创建一个程序,使用Python的键盘模块记录键盘键。 我想为程序创建一个独立的可执行文件。因此,我使用PyInstaller以及其他py-to-exe转换器将脚本转换为exe格式,但在执行时总是出现溢出错误 线程1中的异常: 回溯最近一次呼叫上次: 文件threading.py,第916行,在_bootstrap_inner中 运行中的文件threading.py,第864行 文件site packages\keyboard\\uuuuuu init\uuuuuuu.py,第292行,在

我试图创建一个程序,使用Python的键盘模块记录键盘键。 我想为程序创建一个独立的可执行文件。因此,我使用PyInstaller以及其他py-to-exe转换器将脚本转换为exe格式,但在执行时总是出现溢出错误

线程1中的异常: 回溯最近一次呼叫上次: 文件threading.py,第916行,在_bootstrap_inner中 运行中的文件threading.py,第864行 文件site packages\keyboard\\uuuuuu init\uuuuuuu.py,第292行,在listen中 文件site packages\keyboard\\u winkeyboard.py,第560行,在listen中 在prepare\u intercept中,将第553行的site packages\keyboard\\u winkeyboard.py文件归档
ctypes.ArgumentError:参数3::int太长,无法转换这是键盘模块导入SetWindowsHookEx Windows API的方式中的一个错误。ctypes默认所有参数都为int,SetWindowsHookEx的第三个参数是HINSTANCE,64位宽64位。黑客的解决方案是修补库-将c_longlong添加到_winkeyboard.py第32行的ctypes导入中,然后在第95行取消对SetWindowsHookEx的argtypes的注释,并将第三个更改为c_longlong: SetWindowsHookEx.argtypes=[c_int,LowLevelKeyboardProc,c_longlong,c_int]