Python3+PYQT5 实现并打包exe小工具(2)
前言:前篇已经通过python代码实现了逻辑,传送门:https://www.cnblogs.com/jc-home/p/14447850.html
现在后篇记录的是打包成exe的方式给项目其他同事使用
实现方法:
1、通过安装pyinstaller模块,在py文件路径下命令执行:pyinstaller -F -w xx.py
出现如图提示即是打包成功
2、在dist目录下会生成一个exe文件,该文件是去掉了DOS窗口但是python的固定样式。
3、如果需要添加个性的图标可以使用命令:pyinstaller -F -w -i xx.ico xx.py。得到如图:(如果在dist目录下不是你要的icon,可以把他移动到桌面就会更新了。这是个小细节。)
如果工具功能涉及到UAC 相关功能,例如向系统盘内添加、打开、删除文件等操作的话,可以打包时加上 --uac-admin
4、 界面展示:
重复点击弹窗提示:
调用记事本打开环境文件,自定义:
后记:
由于打包后,exe文件还是过于大,不符合预期。所以尝试了压缩exe大小的方法。
根据尝试使用以下方法有效的缩小exe的大小。
原因:
原本的python环境依赖项比较多,使用前面的方法会把这些不必要的模块打进去。所以需要使用了pipnev的虚拟环境来进行打包。
第一种方法:
在项目的路径上 cmd :
#安装pipnev
pip install pipenv
#建立虚拟环境
pipenv install
#进入虚拟环境
pipenv shell
#安装模块
pip install 小工具.py里面用到的模块
#打包的模块也要安装
pip install pyinstaller
#开始打包
pyinstaller -F -w -i Tool.icon Tool.py
效果:原本22M 经此方法打包后 只有5M左右。
第二种方法:
install 第三方库时,可以指定版本号。不需要安装最新的版本。
最新版本相对来说更大,指定版本功能满足需求的同时还小。打出来的exe包也会小很多。
后话:逻辑和界面比较简单,主要用于记录和分享给初学者。欢迎各位大佬指教!