我是一名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时,先是出现一个小的黑窗口,然后出现一个大的黑窗户,然后就闪退了。
烦请各位大侠能不吝赐教,不胜感激!
如何解决pyinstaller生成的.exe文件闪退的问题?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- jingluan666 2020-08-24 16:27关注
这个因为缺少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')
生成后文件夹内容如下:
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥30 AXI VIP验证多余打印问题
- ¥15 利用加权最小二乘法求某品牌手机价格指标,已按照总销量计算出权重,各类型号手机价格已知,如何求得价格指标?
- ¥15 如何自制一个硬件钱包,有兴趣的朋友一起交流
- ¥15 (关键词-聊天软件)
- ¥15 求大家看看这个编程的编法没有思路啊
- ¥20 WSL打开图形化程序子窗口无法点击
- ¥15 Jupyter Notebook 数学公式不渲染
- ¥20 ERR_CACHE_MISS 确认重新提交表单
- ¥20 关于vba使用HTMLfile执行js函数问题
- ¥60 悬赏求解,通过实时现场摄像头的视频图像识别其他对家打出的麻将牌,识别麻将牌,识别牌墙位置,通过识别对家打出了什么牌