为了账号安全,请及时绑定邮箱和手机立即绑定

使用 PyInstaller 将 Kivy 转为 Exe

使用 PyInstaller 将 Kivy 转为 Exe

交互式爱情 2023-06-20 10:17:25
我正在尝试将我的 .py 文件转换为 .exe。我在我的 .py 文件中使用 kivy。我意识到检测到致命错误。如果我使用SoundLoader.load('test.wav')则无法执行脚本主要错误。主要文件:from kivy.app import Appfrom kivy.core.audio import SoundLoaderfrom kivy.uix.screenmanager import ScreenManagerclass Manager(ScreenManager):    sound = SoundLoader.load('test.wav')    sound.play()class testapp(App):    def build(self):        return Manager()if __name__ == '__main__':    testapp().run()如果我运行我的 .py 文件,我会在 Windows 和 Linux 系统上听到声音。如果我不使用 SoundLoader 行,我的 exe 就会运行。但是,如果我添加它,我什至无法打开控制台或应用程序,因为会出现此错误。感谢您的建议。
查看完整描述

3 回答

?
www说

TA贡献1775条经验 获得超8个赞

如果您遇到同样的问题,请在您的.spec文件中修复此行:


from kivy_deps import sdl2, glew, gstreamer

...

...

datas=[('Files\test.wav','.')

...

...

*[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins +  gstreamer.dep_bins)],

...

...

为我工作..


查看完整回答
反对 回复 2023-06-20
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

接下来的事情帮助了我:

python -m pip install kivy[full]

这与之前的 conda 安装重叠:

conda install -c conda-forge kivy

之后 mp3 文件播放正常。

从 pip(我的目录)安装后的包更改:

kivy-deps.glew~=0.3.1f:\pzz\lib\site-packages (from kivy[full]) (0.3.1)

kivy-deps.gstreamer~=0.3.3f:\pzz\lib\site-packages (from kivy[full]) (0.3.3)


查看完整回答
反对 回复 2023-06-20
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

这对我有用。


from kivy_deps import sdl2, glew, gstreamer


datas=[(r'Assets', 'bullet.wav'),

         (r'Assets', 'music.wav'),

         (r'Assets', 'Explosion.wav')],


*[Tree(p) for p in

           (sdl2.dep_bins +

           glew.dep_bins +  gstreamer.dep_bins)],


查看完整回答
反对 回复 2023-06-20
  • 3 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信