文章目录
- 一、打包为exe
- 1、Pyinstaller打包
- 1.1、安装及配置
- 1.2、打包的两种方式
- 1.3、去掉黑框
- 1.4、给程序加图标
- 1.5、打包资源文件
- 1.6、减小打包文件体积
- 1.7、其他常用参数
- 1.8、安全性如何?如何加密?
- 1.9、常见错误处理
- 2、Nuitka打包
- 2.1、安装配置
- 2.2、打包程序
- 2.3、为程序添加图标
- 2.4、打包资源文件
- 2.5、自定义导入包
- 2.6、Nuitka所有打包命令
- 2.7、压缩文件体积
- 2.8、打包调试
- 2.9、常见打包问题
- 二、制作安装程序
- 2.1、使用Nsis制作安装程序
- 2.2、使用Inno Setup Compiler制作安装程序
- 三、说明
- 1、注意各个库的License
- 四、打包总结
- 1、Pyside6打包常见问题(整理中)
- 2、PysimpleGUI打包常见问题(整理中)
- 3、Pandas打包常见问题(整理中)
- 引用
一、打包为exe
可以打包Python程序的工具有很多,诸如fbs
、PyInstaller
、cx_Freeze
、py2exe
、py2app
、briefcase
、Nuitka
,我们掌握一两种即可。(下表引用自Qt官方)[1]
名称 | License | Qt 6 | Qt 5 | Linux | macOS | Windows |
---|---|---|---|---|---|---|
PyInstaller | GPL | 部分支持 | √ | √ | √ | √ |
Nuitka | MIT | √ | √ | √ | √ | √ |
1、Pyinstaller打包
1.1、安装及配置
- 《Pyinstaller打包教程》下载及配置
下载安装
常见安装错误处理
1.2、打包的两种方式
- 《Pyinstaller打包教程》打包可执行文件
打包为单文件
打包为文件夹
1.3、去掉黑框
- 《Pyinstaller打包教程》去掉命令行窗口
1.4、给程序加图标
- 《Pyinstaller打包教程》给程序加图标
设置
.ico
格式图标
扒取其他exe
文件图标
1.5、打包资源文件
- 《Pyinstaller打包教程》打包资源文件
.spec
文件分析
打包示例及参数详解
1.6、减小打包文件体积
- 《Pyinstaller打包教程》减小打包文件体积
虚拟环境打包
使用UPX压缩
1.7、其他常用参数
- 《Pyinstaller打包教程》其他常用参数
1.8、安全性如何?如何加密?
- 《Pyinstaller打包教程》安全性?如何加密
反编译pyinstaller生成文件
pyinstaller加密打包
1.9、常见错误处理
- 《Pyinstaller打包教程》常见错误处理
2、Nuitka打包
2.1、安装配置
- 《Nuitka打包教程》下载及配置
安装配置
MinGW64
安装配置ccache
设置环境变量
2.2、打包程序
- 《Nuitka打包教程》打包可执行文件
打包exe
去掉命令行窗口
脱离python环境运行
2.3、为程序添加图标
- 《Nuitka打包教程》为程序添加图标
给应用程序添加
.ico
图标文件
扒取其他exe图标文件
2.4、打包资源文件
- 《Nuitka打包教程》打包资源文件
打包文件
打包文件夹
2.5、自定义导入包
- 《Nuitka打包教程》启用插件
查看支持的插件
使用插件模式编译打包 - 《Nuitka打包教程》按需导入依赖
使用follow import参数选择编译导入包
2.6、Nuitka所有打包命令
- 《Nuitka打包教程》所有命令释义
包含–mingw64、–standalone、–onefile、–nofollow-imports、–follow-imports、–include-package-data、–include-data-file、–include-data-dir、–output-dir、–windows-disable-console、-windows-icon-from-ico、–enable-plugin等等命令释义。
2.7、压缩文件体积
- 《Nuitka打包教程》压缩文件体积
--onefile
模式压缩生成文件体积
使用UPX压缩生成文件体积
2.8、打包调试
- 《Nuitka打包教程》打包调试
2.9、常见打包问题
- 《Nuitka打包教程》打包常见问题整理中
二、制作安装程序
2.1、使用Nsis制作安装程序
- 安装及配置
- 制作安装程序
2.2、使用Inno Setup Compiler制作安装程序
- 安装及配置
- 制作安装程序
三、说明
1、注意各个库的License
大家在使用这些打包程序制作好软件安装包,肯定是为了方便复制分发,假设是公开分发,或者是商业应用,一定要考虑到软件著作权保护的问题,研究明白这些库(Pyinstaller、Nuitka…)的license
再进行使用!避免不必要的法律纠纷。
四、打包总结
1、Pyside6打包常见问题(整理中)
2、PysimpleGUI打包常见问题(整理中)
3、Pandas打包常见问题(整理中)
引用
[1].QT.Qt for Python Deployment.[EB/OL].[2022-3-1].https://doc.qt.io/qtforpython-6/deployment.html#deployment-guides.