1. 背景:
当为其他部门完成了一个编程需求,你会考虑如何分享给对方使用呢~
比如:需求是批量修改文件名。
可选的方法:
-
Shell脚本:一般非编程人员,没有此资源;并且windows环境无法使用;
-
Windows bat脚本:不同的系统有些命令不一定通用;
-
JS网页:出于安全考虑,网页无法修改本地文件名;
-
R脚本:非编程人员没有此资源,R打包成exe不太常见;
-
Python脚本:需要环境运行此脚本
-
打包成exe:可直接使用,需考虑压缩包大小;
👳♂️之前的流程:
- 下载安装Python38
![](https://img.haomeiwen.com/i9589088/d64a42c08bdd701d.png)
- 配置notepad++运行py环境,并创建别名run_RA
![](https://img.haomeiwen.com/i9589088/95b80164ff8d3e09.png)
![](https://img.haomeiwen.com/i9589088/efa4f9c1d23940ac.png)
命令内容如下:
cmd /k cd /d "$(CURRENT_DIRECTORY)" & C:\Users\kai.cao\Sync\Python38\python.exe "$(FULL_CURRENT_PATH)" & PAUSE & EXIT
- 将py代码拷贝到项目目录下,用notepad++打开并运行,run_RA,修改后产生一个excel文件;
![](https://img.haomeiwen.com/i9589088/b7486d7b307e1293.png)
👶更新后流程
-
将standard_filename_for_RA_KaiCao_20220302.exe文件放到项目根目录下面,
-
双击运行(实际项目大约需5-10s),完成文件名修改(将不合规的符号,全部转为下划线_);
-
最终会输出 standard_filename_for_RA.csv(一些基本统计信息),便于统计文件名长度,文件大小,路径长度是否合规;
![](https://img.haomeiwen.com/i9589088/620e5b0f1e00bbec.png)
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
![](https://img.haomeiwen.com/i9589088/dc14e03600095b11.png)
- 测试所需的包,是否都安装好 pipenv run 1.py
![](https://img.haomeiwen.com/i9589088/5d4165114bf404ed.png)
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);
![](https://img.haomeiwen.com/i9589088/c918d40e36ed8ce2.png)
2.7 打包结果
![](https://img.haomeiwen.com/i9589088/a4060801cec39195.png)
![](https://img.haomeiwen.com/i9589088/bb29b198177459d4.png)
3.Notes
UPX,Pipenv 相比直接运行Pyinstaller.exe 有什么变化:315M->21M;
pyinstaller.exe -F -w standard_filename_for_RA.py
![](https://img.haomeiwen.com/i9589088/aa033e3a7b69881f.png)
![](https://img.haomeiwen.com/i9589088/51289cae972cd152.png)
pipenv虚拟环境中,下载package速度较慢,需要修改镜像加速下载
![](https://img.haomeiwen.com/i9589088/94ea6016afb92a67.png)
参考:
https://www.zhihu.com/question/281858271
https://www.cnblogs.com/zingp/p/8525138.html
https://www.cnblogs.com/hongdada/p/11014908.html
欢迎评论交流~
网友评论