我为什么要折腾出这个安装包?
兄弟们,今天必须得跟你们分享一下,我最近为了一个看着简单,实际上把我折腾得够呛的玩意儿——就是那个《诺艾尔会努力的_安装包》。
这玩意儿就是一个小工具,我之前用Python写来处理一些日常文件的,比如给照片批量改名,或者自动清理下载文件夹里的重复文件。一开始我压根儿没想过要搞什么安装包,不就是几行代码吗?直接把Python文件和那堆依赖库打包,扔给别人,告诉他们:“双击运行,或者在命令行里输一行字,回车!”
从源码到能用的地狱之路
我最初的想法很简单粗暴。我
我先把所有代码和必需的文件一股脑儿塞进一个文件夹里。然后我试着找了个工具,想把它做成一个单独能跑的exe文件。那家伙,我第一次搞,简直是一团糟。
我记得我
我花了整整一个下午,好不容易把那个打包工具的命令行参数
我总算给它搞明白了,然后咔咔一顿操作,生成了一个五百多兆的exe文件。我自信满满地
我把它发给了我老婆,让她试试。结果?她双击,窗口一闪,屁反应没有。
我气得半死,
我赶紧跑过去看,发现是路径问题。我打包的时候,那个破工具把某些系统环境变量写死了,在我机器上能跑,换台机器就彻底歇菜。接着的几天,我
我就是跟各种依赖、各种路径配置在
我跟它死磕。我尝试过好几种打包方式:
- 第一次,直接暴力打包所有文件,失败,文件太大,依赖混乱。
- 第二次,只打包核心程序,让用户自己去装Python环境,失败,用户根本不会装环境。
- 第三次,决定用一个正经的安装程序制作工具,想着能自动把运行环境也给装上。
这第三次才是我噩梦的开始。我
我研究了半天怎么写安装脚本,怎么让它自动在用户的机器上
我偷偷摸摸地去新建文件夹、去写注册表信息。每一步都像是走钢丝,我深怕
我一个不小心就给别人的电脑搞出什么幺蛾子。我
我测试了快二十遍,每次都在虚拟机里装一遍,卸载一遍,就为了确保这个“诺艾尔会努力的”安装包,能真正实现一键安装,一键卸载,干净利落。
这事儿的起因,说起来就来气
你们肯定好奇,我为啥对一个只有自己用的工具这么执着,非得
我把它整成一个傻瓜安装包。这背后有个超级抓马的故事。
去年过年,我大姨夫非得让我
我帮他整理手机里几十年积累的照片。那照片数量,得用万来算。我心想这正把我那个批量重命名和去重工具给他用,几分钟搞定。我
我把那堆文件扔给他,然后说了那句致命的话:“打开命令行,输入这段字符,回车。”
结果?我人还在厨房烧菜,就听见客厅里我大姨夫开始咆哮。他
他没找到命令行窗口,他
他尝试在文件名里输入那段字符,然后他
他把所有照片文件夹都给弄乱了,桌面图标也神奇地变了形。他
他气得脸都青了,说我给他的工具是病毒。
那场面,简直是灾难。我
我花了一个小时才给他还原系统,又
我花了两个小时重新给他手动整理照片。从那天起,我
我下了死决心,我的任何工具,只要是给普通人用的,就必须得是“点击、下一步、完成”这三步走。
我这回是
我抱着“不成功便成仁”的决心,
我把这个安装包的名字定为“诺艾尔会努力的”。为啥叫这个名?因为做安装包的过程,跟游戏里那个角色给我的感觉一样——拼命努力,但总是笨手笨脚,搞得一团糟,直到才勉强成功。
这个安装包总算
我已经做出来了。虽然功能还是那么点功能,但我
我已经确保,就算是我大姨夫也能
他轻松地把它装上和卸载。我
我总算可以睡个安稳觉了。折腾死了,但效果,是真的管用。