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

在Python虚拟环境中用Kivy打包生成.exe文件遇闪退问题如何解决?

解决Kivy打包exe闪退方案

第一步:修复代码语法错误

你提供的示例代码存在2处语法错误,会直接导致程序运行终止:

  • 第二行末尾多了冗余的from关键字,正确导入写法为from kivy.app import App
  • build方法未相对于MyApp类缩进,Python对缩进要求严格,需在def build前添加4个空格

修正后的可运行代码如下:

import kivy
from kivy.app import App
from kivy.uix.label import Label

class MyApp(App):
    def build(self):
        return Label(text='Hello world')

if __name__ == '__main__':
    MyApp().run()

修复后先在虚拟环境中直接执行python helloworld.py,确认可以正常弹出Kivy窗口后再进行打包操作。

第二步:使用Kivy适配的PyInstaller命令打包

普通打包命令不会自动识别Kivy的动态依赖,是闪退的核心原因,需使用带补充参数的打包命令:

pyinstaller --onefile --hidden-import kivy.deps.glew --hidden-import kivy.deps.sdl2 --exclude-module _tkinter helloworld.py

参数说明:

  • --hidden-import:手动导入PyInstaller未自动识别的Kivy底层依赖包
  • --exclude-module _tkinter:避免tkinter与Kivy的GUI框架产生冲突
  • 如果不需要保留运行时的控制台窗口,可在命令中添加--windowed参数

第三步:运行验证

打包完成后打开生成的dist文件夹,运行内部的helloworld.exe即可正常启动程序。

通用排查技巧

如果仍出现闪退,先去掉--windowed参数重新打包,运行exe时会保留控制台窗口,可直接查看报错信息定位具体问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:06:04