Pyinstaller打包kahoot脚本为exe报Failed to execute script错误如何解决
报错修复方案
核心问题原因
你遇到的报错主要来自两个常见诱因:
- 代码存在未处理的类型错误:
input()返回值为字符串类型,直接传入range()函数会触发类型异常,本地运行时可能你提前做了隐式转换或测试时做了特殊处理才没有触发 - Pyinstaller默认无法识别pynput库的动态加载依赖模块,打包后的独立exe环境缺少必要运行组件
具体修复步骤
- 第一步:修改源代码,增加类型转换和异常捕获逻辑,避免闪退,修改后的完整代码如下:
from pynput.mouse import Button, Controller as mController from pynput.keyboard import Key, Controller as kController import time if __name__ == "__main__": try: mouse = mController() keyboard = kController() # 输入部分增加类型转换 game_code = input("Game Code: ") username = input("Username: ") amount = int(input("Player Amount: ")) # 预留切换浏览器的时间 time.sleep(5) for i in range(amount): # 输入游戏码 mouse.position = (775, 500) mouse.click(Button.left, 1) keyboard.type(game_code) mouse.position = (775, 550) mouse.click(Button.left, 1) time.sleep(0.5) # 输入用户名 mouse.position = (775, 520) mouse.click(Button.left, 1) keyboard.type(username + str(i)) mouse.position = (775, 570) mouse.click(Button.left, 1) time.sleep(0.2) # 打开新的Kahoot标签页 keyboard.press(Key.ctrl) keyboard.press("t") keyboard.release(Key.ctrl) keyboard.release("t") keyboard.type("https://kahoot.it") keyboard.press(Key.enter) keyboard.release(Key.enter) time.sleep(1) except Exception as e: print(f"运行错误:{repr(e)}") input("按下任意键退出程序...")
- 第二步:使用带隐藏依赖导入的命令重新打包,适配pynput的Windows平台后端:
pyinstaller --onefile --hidden-import=pynput.keyboard._win32 --hidden-import=pynput.mouse._win32 kahoot_spammer.py - 第三步:运行新生成的exe文件,如果仍有错误,窗口会保留显示具体报错内容,可根据提示做针对性调整
内容的提问来源于stack exchange,提问作者Asbestos
相关产品推荐
相关产品推荐

