打包环境准备
upx下载
https://github.com/upx/upx/releases
访问uxp项目版本页,下载对应平台的压缩包
打包工具安装
pip install nuitka
打包命令参数如下
def run(self):
"""
开始构建
:return:
"""
upx_path = path.abspath("tools/upx")
cmd = f"nuitka3 --mingw64 --show-progress --disable-ccache --plugin-enable=pyqt5,upx --upx-binary={upx_path} --output-dir=out --include-package=model main5.py"
print(cmd)
if int(system(cmd)) == 0:
print("构建成功")
else:
print("构建失败")
exit(5)
说明
upx_path
其中,upx_path
的路径是upx
的可执行文件,如下
该参数最好使用绝对路径
plugin-enable=pyqt5,upx
启用的插件,由于我的程序是pyqt5
开发的,所以加上pyqt5
以及上一步设置的upx
include-package=model
这是自定义包目录,如果你的程序有多个py
文件组成,那就需要使用这个参数指定其他py
文件所在的相对路径
效果
总大小才203kb
,相对使用pyinstaller
打包的62MB
对比,其效果天差地别