将pynput与pyinstaller一起使用时出现错误

时间:2020-09-01 05:18:02

标签: python-3.x pyinstaller pynput

我的一个朋友要我给他写一个程序,然后我用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。

2 个答案:

答案 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 中找到更多信息。