1. 背景:
当为其他部门完成了一个编程需求,你会考虑如何分享给对方使用呢~
比如:需求是批量修改文件名。
可选的方法:
Shell脚本:一般非编程人员,没有此资源;并且windows环境无法使用;
Windows bat脚本:不同的系统有些命令不一定通用;
JS网页:出于安全考虑,网页无法修改本地文件名;
R脚本:非编程人员没有此资源,R打包成exe不太常见;
Python脚本:需要环境运行此脚本
打包成exe:可直接使用,需考虑压缩包大小;
👳♂️之前的流程:
- 下载安装Python38
- 配置notepad++运行py环境,并创建别名run_RA
命令内容如下:
cmd /k cd /d "$(CURRENT_DIRECTORY)" & C:\Users\kai.cao\Sync\Python38\python.exe "$(FULL_CURRENT_PATH)" & PAUSE & EXIT
- 将py代码拷贝到项目目录下,用notepad++打开并运行,run_RA,修改后产生一个excel文件;
👶更新后流程
将standard_filename_for_RA_KaiCao_20220302.exe文件放到项目根目录下面,
双击运行(实际项目大约需5-10s),完成文件名修改(将不合规的符号,全部转为下划线_);
最终会输出 standard_filename_for_RA.csv(一些基本统计信息),便于统计文件名长度,文件大小,路径长度是否合规;
2. Python脚本打包exe流程
2.1 安装pipenv,减少不必要的package
- pip.exe install pipenv https://www.cnblogs.com/hongdada/p/11014908.html
2.2 进入项目目录
- mkdir project->cd project
2.3 进入虚拟环境
- pipenv install; pipenv shell 进入虚拟环境;
2.4 安装必要的package ,并测试
- pip install pandas;pip install pyinstaller; pip install xlsxwriter
- 测试所需的包,是否都安装好 pipenv run 1.py
2.5安装UPX,进一步压缩体积
https://blog.csdn.net/chentianveiko/article/details/107083912
2.6 开始打包exe
pyinstaller.exe -F -w .\standard_filename_for_RA.py
-F: 打包成单独exe模式
-w:没有黑色弹窗(用户可能以为没执行,所以最好不加-w);
2.7 打包结果
3.Notes
UPX,Pipenv 相比直接运行Pyinstaller.exe 有什么变化:315M->21M;
pyinstaller.exe -F -w standard_filename_for_RA.py
pipenv虚拟环境中,下载package速度较慢,需要修改镜像加速下载
参考:
https://www.zhihu.com/question/281858271
https://www.cnblogs.com/zingp/p/8525138.html
https://www.cnblogs.com/hongdada/p/11014908.html
欢迎评论交流~