pyqt5程序打包成exe
2019-08-24 python 2266
首先输入下面的命令,如果pyinstaller没有下载,请pip install pyinstaller
pyinstaller -F -w -i img.ico main.py 或 pyinstaller -F -c -i img.ico main.py (建议先用-c,这样如果打包不成功的话可以看到哪里有错)
-F 指只生成一个exe文件,不生成其他dll文件
-w 不弹出命令行窗口
-i 设定程序图标 ,其后面的ico文件就是程序图标
main.py 就是要打包的程序
-c 生成的exe文件打开方式为控制台打开。
执行完这个命令之后,会生成window.spec这个文件
如果程序执行时出现,"超过最大递归深度",这个时候,要去生成的window.spec中更改一些参数
首先 导入sys这个模块
import sys sys.setrecursionlimit(5000) #深度 a = AnaLysis(['window.py'], # 要注意,执行的文件是py文件 excludes = ['urllib3'], # 一般会自动调用这个库,如果没有调用,就要手动加上 noarchive = False) # 表示启动程序默认关闭控制台
第二步: 在Terminal终端输入命令: pyinstaller window.spec # 这个时候就会生成exe可执行文件
如果启动执行文件加载不出图片,将除了新生成的build,dist以外的所有的文件或引用文件,复制到dist文件夹中,打包结束.
加 -F 虽然是生成了单个exe可执行文件,看上去很清爽,但是这个命令它把所有的环境都整合在了一起,如果我们的程序比较大的话,启动时就会非常慢(如果你的电脑性能一般的话,加载时间会更长),因为它加载的数据都是静态加载的,需要去封装的包里一个个的去查找,所以速度变慢了. 所以,去掉 -F 之后,我们的启动速度流畅无比,体验效果也大大提升.去掉它之后,生成的dist文件中你程序中要用到的环境都会被放在dist中,这个时候所用到的环境就变成了动态加载的,速度就跟你用代码启动程序的速度是一样的.
很赞哦! (0)
相关文章
文章评论
-
-
-
0条评论