基于Pyinstaller打包Python程序并压缩文件大小 |
您所在的位置:网站首页 › pyinstaller打包文件大 › 基于Pyinstaller打包Python程序并压缩文件大小 |
基于Pyinstaller打包Python程序并压缩文件大小
这段时间应老师的要求,给实验室写了一个基于 PyQt5 的小工具。然而源码发过去人家还不要,一定要打包成可执行软件。 那就打包呗,刚好以前对 Pyinstaller 有一点接触,就用了一下这玩意。这篇博文主要记录一下基本用法和踩得一些坑。 1. 用 Pyinstaller 打包 Python 程序 首先我们需要安装 Pyinstaller: pip install pyinstaller 用 conda 也行,不过貌似最近清华的 Anaconda 源被封了,也不知道什么时候解禁。 Pyinstaller 用法很简单,在对应的主调 py 文件的目录下,运行: pyinstaller [] Target.py 介绍一下 Pyinstaller 常用的参数用法:--distpath : 打包到哪个目录下-w: 指定生成 GUI 软件,也就是运行时不打开控制台-c: 运行时打开控制台-i : 指定打包后可执行文件的图标--clean: 在构建之前清理PyInstaller缓存并删除临时文件 关于打包成什么样,有两种选择: -D: 创建包含可执行文件的单文件夹包,同时会有一大堆依赖的 dll 文件,这是默认选项-F: 只生成一个 .exe 文件,如果项目比较小的话可以用这个,但比较大的话就不推荐 最后来看看我使用的参数: pyinstaller --distpath Release/ -w -i x.ico --clean main.py 如果不指定 --dispatch 的话,最后会默认发布到 dis 目录下,进入目录后,就可以看到打包好的软件: Failed to excute script xxx 啥?为啥会这样。其实这种情况往往是缺少了一些依赖项导致的。以我的例子来说,我的项目中有一个 config.yaml 文件需要在运行时读取,然而 Pyinstaller 是不会帮你把这些依赖项目也打包的。 解决办法很简单,手动把依赖项目复制进目录下就可以了。 OK!到此为止就完——了吗? NO!因为我遇到了一个很恶心的问题,打包出来的程序居然足足有 600 多 M!坑人呐这不是! 我苦思冥想不知道是怎么回事,转眼一看,发现了一些不对劲的地方。 再一看,一共 90 M,足足缩小了 6 倍多。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持来客网。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |