如何解决pyinstaller生成的.exe文件闪退的问题?

我是一名Python的初学者。学习了《Python编程:从入门到实践》教材后,已能在自己的电脑上顺利运行alien_invasion游戏。现在想将其打包生成.exe文件,以便在其他电脑上运行。但一直没有成功。打包过程如下:

首先使用:pyi-makespec alien_invasion.py生成alien_invasion.spec。

打开这个.spec文件,编辑如下:

SETUP_DIR = 'C:\Users\***\AppData\Local\Programs\Python\Python38\alien_invasion\'

a = Analysis(['alien_invasion.py',

'alien.py',

'bullet.py',

'button.py',

'game_functions.py',

'game_stats.py',

'scoreboard.py',

'settings.py',

'ship.py'],

pathex=['c:\Users\***\AppData\Local\Programs\Python\Python38\alien_invasion'],

binaries=[],

datas=[(SETUP_DIR+'images','images')],

hiddenimports=[],

......

编辑的内容:添加了alien.py等8个.py文件;在datas处添加了imgages文件夹。

感觉在hiddenimports处应该也添加内容,但我不知道如何添加?这会是导致.exe不能运行的原因?

编辑这个.spec文件后保存。然后使用:pyinstaller alien_invasion.spec生成alien_invasion.exe文件。当执行alien_invasion.exe时,先是出现一个小的黑窗口,然后出现一个大的黑窗户,然后就闪退了。

烦请各位大侠能不吝赐教,不胜感激!

回答

这个因为缺少images文件夹,手动拷贝过去

将spec的exe和collect改成如下:

exe = EXE(pyz,

a.scripts,

[],

exclude_binaries=True,

name='alien_invasion',

debug=False,

bootloader_ignore_signals=False,

strip=False,

upx=True,

console=True )

coll = COLLECT(exe,

a.binaries,

a.zipfiles,

a.datas,

strip=False,

upx=True,

name='alien_invasion')

生成后文件夹内容如下:

图片说明

以上是 如何解决pyinstaller生成的.exe文件闪退的问题? 的全部内容, 来源链接: utcz.com/a/40675.html

回到顶部