我的一个朋友要我给他写一个程序,然后我用Pynput处理了一些输入和其他功能。当我使用pyinstaller将程序转换为可执行文件时,启动可执行文件会给我以下错误: File "site-packages\pynput\keyboard\__init__.py", line 31, in <module> File "site-packages\pynput\_util\__init__.py", line 82, in backend ImportError [11492] Failed to execute script friend_project
我尝试使用pyinstaller命令pyinstaller --onefile friend_project.py
,还尝试使用auto-py-to-exe来运行它。
将pyinstaller与pygame或pyopengl等其他模块一起使用不会给我带来任何错误,但是这个模块可以。 使用python inturpeter自行运行脚本可以很好地工作,但我希望将其作为exe,这样我就可以将脚本交给他,而无需他来运行python。
答案 0 :(得分:8)
请回退到1.6.8版本的Pynput。 pip install pynput == 1.6.8
答案 1 :(得分:2)
如果您运行的是 Windows,则需要将这些参数添加到命令行(第一次,之后它们将包含在生成的规范文件中)。
--hidden-import "pynput.keyboard._win32" --hidden-import "pynput.mouse._win32"
对于 Linux,请使用:
--hidden-import "pynput.keyboard._xorg" --hidden-import "pynput.mouse._xorg"
可以在此 Github issue 中找到更多信息。