天天看点

如何跳过各种坑,将python程序用pyinstaller打包为exe?

之前写过一篇文章,讨论如何用selenium爬取句子迷网页上的箴言,以及如何将这些句子写到图片中,再将图片设置为桌面背景,并且定时更新,有兴趣可以瞧瞧。

这篇文章讨论一下如何将以上的python程序用pyinstaller打包成exe,从而可以更加容易的分享给别人,让他人羡慕嫉妒恨。

首先将python程序转换成exe,常用的有pyinstaller,py2exe, nuitka。最后一个nuitka是先将python代码转换成c++代码,然后编译生成exe文件,执行效率会提升很多的。py2exe据说跨平台很差,而且不能打包成单个exe文件。所以根据网上的舆论重点研究了一下pyinstaller,本文的重点和难点在打包定时执行模块apscheduler的时候遇到很多问题,同时如何把用到的图片、字体、文本等数据文件打包进exe。

源程序请看之前的链接,在打包过程中遇到各中模块导入的问题,这里有个技巧,生成后的exe文件如果直接双击执行,出错以后,一闪而过,根本来不及看清报错信息,有人聪明的在源码中加入input(),但是实际上出错的时候还没有执行到input,所以还是一闪而过。我开始很愚蠢,企图用windows的截图留下那惊鸿一瞥,可是试了数次都没有成功,