最近打算把自己写的程序用pyinstaller做一个打包,以便在其他电脑上使用,本来以为挺简单的事情,没想到搞了两天时间才搞定,期间遇到诸多坑,忍不住要骂娘了。
平心而论,搞不定只能是自己学艺不精,所以只能调整好心情,挨个去排除异常,面向csdn编程。
提醒:
如果你打包的程序是单文件,并且不依赖于第三方库、第三方软件,那就没必要看本文。网上大把的教程,一行命令就成功打包了。
如果你的项目文件写的比较正规、多目录、并且还依赖了第三方的软件或文件等等,那本篇文章是比较有参考价值的。
我的项目目录如上图。
ok,进入正题。
需要说明的是,每个人的python解释器版本不同,甚至用到的pyinstaller版本不同,都会产生各种问题。
总体思路:
项目完毕后,在自己的pycharm里先运行,看是否报错,报什么错。将报错信息复制到别的文档中去,方便挨个排查。
报错信息通常都包含关键词:error、warning。
所以,你只需要在你刚才粘贴过去的文档 ctrl+f,然后查找错误信息即可。
第一部分:pyinstaller常见错误应对方案
常见错误1:UPX is not available
有英文基础的话,就很清楚的知道,它说的是upx不可用。
因为pyinstaller打包会用到压缩功能,而这个功能依赖于UPX,UPX是一款压缩软件,所以,你应该下载UPX的安装包,然后把upx.exe文件放在项目虚拟环境中的Scripts文件夹下。
具体操作方法看这篇参考文章: