Python文件打包成exe可执行程序

背景

有时写的Python程序需要交给业务人员使用,但业务人员电脑上基本都没有安装Python,并且业务人员也不会使用命令行,所以就需要把Python程序打包成exe可执行程序,让业务人员无需安装Python,可以直接使用。

这里只针对Windows操作系统的打包,以及只针对业务人员使用场景。(Linux系统基本都是技术开发人员在使用,基本都用的是命令行;而Mac系统不知是否有相关的打包库,可以打包为dmg)

打包过程(以下均为在cmd命令行执行)

  • 首先安装第三方库:pyinstaller
pip install pyinstaller
  • 打包
    需要先切换到打包程序目录,
    cd c:\xxx\xxx
    然后对Python程序进行打包
pyinstaller -F xxx.py
  • 结果
    如果打包成功,当前目录下会增加一个新的dist文件夹,打开该文件夹,会发现打包好的exe文件:xxx.exe,文件名与Python程序文件相同
  • 其他
    打包大概流程如上所示,除此之外pyinstaller支持其他一些功能,比如打包时指定自定义图标,首先需要下载一张正常的ico,不能用直接修改后缀的,然后进行打包,一定是先图标文件路径,再是程序路径,如下所示:
pyinstaller -F  -i xxx.ico xxx.py

注意事项!!!

  • 运行报错
    虽然经过一番折腾,终于打包好exe可执行程序,但是双击运行时总是报错,无法成功运行,这种情况大多数是因为缺少第三方库造成的。
    解决方法:在打包之前先在cmd运行一次Python程序看是否成功运行
python xxx.py
  1. 如果能成功运行,那么打包后基本没什么问题
  2. 如果运行失败,那么查看报错信息,是否缺少第三方库,然后进行pip安装,确保能成功运行
  • 文件太大
    以上打包过程是不是很简单,但是有没有注意打包的exe文件有时会很大,有时几百兆大小,但是自己的Python程序也就几KB,这个问题也是自己之前遇到的难题(使用的是Anaconda),即使另外建立了新的环境也不行(conda create -n 环境名
    解决方法:一定要使用Python官网下载的原生Python程序,并且确保系统环境变量里面只有这一个Python路径,只有这一个Python路径,只有这一个Python路径!!!

亲测自己的打包程序从200M降到50M大小

历史相关文章


以上是自己实践中遇到的一些问题,分享出来供大家参考学习,欢迎关注微信公众号DataShare,不定期分享干货

推荐阅读更多精彩内容