PyInstaller打包Kivy应用后exe报错:无法导入kivy_gradient.Gradient
解决PyInstaller打包Kivy应用时kivy_gradient导入失败的问题
以下是几个可行的解决方法,按优先级尝试:
在Python代码中显式导入kivy_gradient
PyInstaller依赖静态分析识别代码依赖,kv文件里的#:import不会被它检测到。直接在你的main.py开头加一行:from kivy_gradient import Gradient让PyInstaller能自动识别并打包这个依赖模块。
在spec文件中补全hiddenimports
打开main.spec,找到Analysis部分的hiddenimports参数,把kivy_gradient.Gradient添进去,比如:a = Analysis( ['main.py'], ... hiddenimports=['kivy_gradient.Gradient'], ... )不要仅依赖命令行的
--hidden-import,手动修改spec能确保配置不会被覆盖。手动打包kivy_gradient的完整目录
- 运行
pip show kivy_gradient,找到输出里的Location项(比如C:\Python39\Lib\site-packages\kivy_gradient),这是kivy_gradient的安装路径。 - 在spec文件的
a.datas里添加Tree指向该路径:a.datas += Tree('C:\\Python39\\Lib\\site-packages\\kivy_gradient')
确保kivy_gradient的所有文件都被打包进exe。
- 运行
完成以上修改后,重新执行pyinstaller main.spec -y,生成的exe即可正常导入kivy_gradient。
内容的提问来源于stack exchange,提问作者zxcvb
相关产品推荐
相关产品推荐

