很多人写Python代码,最后卡在怎么把东西交给客户。
客户不会装Python,也不想装。他们只想要一个exe,双击就能跑。就像你平时用的那些软件一样。
我遇到过好几次。辛辛苦苦写了个脚本,功能都测好了。客户那边一听说要装Python包,还要配置环境,直接说不要了。
后来学会了一个工具,叫PyInstaller。它可以把Python代码打包成一个exe文件。没别的,就是简单。
用法也不复杂。打开命令行,先装这个工具
pip install pyinstaller
装好之后,在你的代码文件夹里运行
pyinstaller -F your_script.py
那个-F参数意思是生成单个exe文件。不加的话会生成一堆文件夹,给客户不够整洁。
等个十几秒,dist文件夹里就会出现一个exe。双击就能跑,和你的Python代码一样工作。
包体大小?常用的代码加几个库,大概几十兆到一百多兆。对现在来说不算大。客户不会介意。
有几个小细节要注意。一是文件路径。如果你的代码里用了相对路径,注意exe的运行目录。打包后exe的当前目录就是它所在的位置。
二是含GUI的代码。如果你用tkinter或者PyQt写的界面,PyInstaller会自动处理。直接打包就行。
三是控制台窗口。默认会带一个控制台窗口跑出来。如果你的程序是纯界面操作,加个 -w 参数可以隐藏控制台
pyinstaller -F -w your_script.py
给客户发文件的时候,记得把exe放进去。可以加个简单的说明文件,写个名字和版本号。看着就专业。
我自己的习惯是再配一个小图标。把ico文件放在同目录,运行的时候加上-i icon.ico
客户第一眼看到的就是这个图标。花五分钟换一个,他觉得你花了两周做这个软件。
还有个事。打包好的exe有些杀毒软件会报毒。这是通病。因为Python打包的exe本质上是一个自解压的文件,杀毒软件不认识。你可以提前发给客户,让他加个白名单。或者自己先跑一下,确认没问题再发。
利润怎么算?你写代码花了三天,客户给一千块。打包这一步花五分钟。这一步就是那五分钱的服务费。不值钱但必须做。
能做exe,你的Python代码就不是代码,是产品。能做产品,你的要价就能从几百涨到几千。中间的差距就是一层包装。
现在工具已经成熟了。用这个办法,你手上那些管用的脚本,都能变成客户双击就能用的软件。不用再解释什么是pip,什么是虚拟环境。只说一句
“打开这个就行”。
客户满意,你也轻松。没有比这更好的结局了。