作为一个不加班的时候也会写些自娱自乐的小程序的程序猿,难免会想发布下程序到网上,万一红了,一不小心改变了世界,成为啥啥布斯呢?但我们不可能要求每个使用程序的人都安装一套Python开发环境,然后启动一个傻大黑的终端去跑一个命令去调用你的程序员。
这时我们就需要用到打包程序了,追求简洁的Python自然不需要InstallShield这么庞然大物去做个安装包。我们只要把所有的依赖库和主程序绑定成exe文件就好了。这时PyInstaller就可以担些重任了。它的语法很简单
我们先写个简单的一行代码,然后调用pyinstaller
它就会分析你的程序,找到需要引入的pip包,然后把python和必要的windowsdll文件打包在一起。执行后会生成几个文件夹,build和dist.dist就是distribution发布的缩写。在dist目录下我们就可以找main.exe文件了
我们先测试一下
很完美,但还差一步。在上面的命令中加个--onefile去生成单一的exe文件,这时看dist目录就只有main.exe文件了。
但实际编程过程中,我们经常有多个源文件在不同目录里,比如下面这个程序。lib目录下utils用到click这个库,然后main去调用这个方法。PyInstaller一样也是可以搞定的。如果需要资源文件的话,可以加-p目录名去包含目录名。如果需要自定义图标的话,则可以用-iicon。更多参数请参考文档
那你还在等什么呢?快去打包你的小程序吧!