在尝试编译之后,Python/Kivy应用程序将无法启动

2024-04-26 18:56:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经创建了一个我正试图编译的程序,但是在编译完成后,我试图从/dist/目录中的.exe启动应用程序,它会创建一个命令提示符窗口,打开应用程序窗口一小段时间,然后关闭。在

我遵循Kivy过程添加适当的导入,并将必需的目录添加到规范的COLLECT区域中。我尝试将pyinstaller hooks导入添加到顶部,正如一些人在不同页面上所建议的那样,但是没有效果。在

应用程序在测试期间通过命令“python”正常启动主.py“,所以我很困惑为什么编译后它没有启动。在

规格:

# -*- mode: python -*-
from kivy.deps import sdl2, glew

block_cipher = None


a = Analysis(['..\\main.py'],
             pathex=['C:\\python programs\\Escape Room Program\\compiled'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             **get_deps_all())
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          exclude_binaries=True,
          name='EskapAid',
          debug=False,
          strip=False,
          upx=True,
          console=True )
coll = COLLECT(exe, Tree('..\\compiled'),
               a.binaries,
               a.zipfiles,
               a.datas, 
               Tree('..\\img\\', 'img'),
               *[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
               strip=False,
               upx=True,
               name='EskapAid')

我不介意提供任何其他必要的信息,包括我可能采取的其他步骤,但目前,我很困惑为什么它不能正确启动。在


Tags: depspy目录falsetruetree应用程序block
1条回答
网友
1楼 · 发布于 2024-04-26 18:56:57

尝试从控制台运行应用程序,以便可以查看与失败启动相关的错误消息;如果单击.exe打开它,则当应用程序关闭时,控制台将立即消失,这使得很难看到这些错误。很可能,您将看到应用程序未能启动,因为它缺少包,您可以将这些包添加到hiddenimports列表下的.spec文件中。请查看这个post,了解为什么需要这样做。在

相关问题 更多 >