PyQt5打包程序为exe可执行文件

首先在PyQt的目录里打开命令行

第一步:输入打包命令: pyinstaller -Fw window.py      # window.py为程序的执行文件名

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

-w: 表示去掉控制台窗口

-c: 表示启动控制台

执行完这个命令之后,会生成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文件夹中,打包结束.

2019/3/28

今天打包时又有了新发现,特在此补充

之前打包一直会使用会加 -F 虽然是生成了单个exe可执行文件,看上去很清爽,但是这个命令它把所有的环境都整合在了一起,如果我们的程序比较大的话,启动时就会非常慢(如果你的电脑性能一般的话,加载时间会更长),因为它加载的数据都是静态加载的,需要去封装的包里一个个的去查找,所以速度变慢了. 所以,去掉 -F 之后,我们的启动速度流畅无比,体验效果也大大提升.去掉它之后,生成的dist文件中你程序中要用到的环境都会被放在dist中,这个时候所用到的环境就变成了动态加载的,速度就跟你用代码启动程序的速度是一样的.

你可能感兴趣的:(PyQt5打包程序为exe可执行文件)