python程序封装成exe流程

在学习python的过程中,在IDE编写完成py项目,运行成功想要封装成exe,方便分享给不同的人即使别人没有安装python也可以使用。

封装的过程中遇到一些问题,记录一下,方便自己和他人查阅。

以经典教材的alien_invasion为例。编写完成后,在IDE环境下可以正常运行,使用pyinstall工具封装成exe,在py文件目录下进入cmd,例如E:\Python\Alien_Game>pyinstaller -F -w alien_test.py

在生成中dist文件夹下可以找到生成的exe文件,把依赖文件放入到同一目录下,打开exe出现已停止工作的问题。经摸索发现是因为

self.font=pygame.font.SysFont("none",36)     中默认none的问题,将其改为:

self.font=pygame.font.SysFont("SimHei",36)       解决相关问题。SimHei字体还可正常显示中文字符,防止出现中文乱码的问题。

 

pyinstall指令参考https://msd.misuland.com/pd/3223833238703184482

  • -F 表示生成单个可执行文件

  • -w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!

  • -p 表示你自己自定义需要加载的类路径,一般情况下用不到

  • -i 表示可执行文件的图标

查询过程中还发现几个常见问题,整理如下:

1.多文件打包    https://www.cnblogs.com/jackzz/p/9431923.html

2.PyQt5安装有问题,通过pip安装,在一开始封装的过程中,为了方便看到问题,可以采用E:\Python\Alien_Game>pyinstaller -F -c alien_test.py的方式,通过控制台看到错误提示方便定位。

3.有些时候封装import了其他模块,pyinstaller找不到,需要将依赖路径添加上去 ,在指令最后加上-p address

4.生成exe文件注意路径,尽量使用相对路径,而且需要注意依赖文件和exe的相对位置,方便在不同的环境下移植运行。

记录如上,方便你我。

 

posted @ 2019-09-29 10:07  风之君若  阅读(18912)  评论(0编辑  收藏  举报