最近由于项目要求,用python写了个软件,但是用pyinstaller打包以后软件巨大。去网上搜索一番看到有人提到可以用pipenv进行打包,这样可以省去pyinstaller将无关的大量库打包进exe的问题。但是由于本次项目中需要使用wrf_python库,而该库的安装方式要求使用anaconda,因此很无奈,只能硬着头皮上了。

但是打包完以后软件足足有1G,只是一个单窗口的软件,但是却有1G大小,是我无法承受的。于是尝试手动删除这些无关的库,这里将我个人步骤记录在此,仅做我个人备忘用,如有同样困惑者也可进行参考,但是该方法并不科学,如果有人因此而产生软件损坏,本人概不负责。

  1. 对于pyinstaller,采用以下代码进行打包

    pyinstaller xx.py

    这样的好处是软件执行文件和依赖库都打包进了dist文件夹,这样可以对依赖库进行删减。如果加上--onefile打包为一个可执行文件,则无法进行体积大小删减。

  2. 对于打包完后的文件夹,使用SpaceSniffer对该文件夹分析,可以直观的看到该文件夹下每个文件夹和文件的大小,从而决定删减内容。下图是我自己的例子。附上SpaceSniffer的官网:SpaceSniffer, find lost disk space the easy way. (uderzo.it)

  3. 删减原则,由于spacesniffer软件会自动按照文件大小进行排序,因此删减顺序就很简单了。由于有大量只有几十kb的库,这些库本身对软件大小影响不大,但是如果删除可能会导致软件无法运行,因此优先删除体积大的库和文件。而在文件夹与文件中,优先选择删除文件,原因在下一步的实际操作中

  4. 接下来开始实际删减,首先打开软件,然后在资源管理器中对文件按照大小排序,然后从大到小对单文件进行删除。优先删除大的单文件的好处在于,如果该文件是软件运行必需的,那么他会提示该文件正在运行中。这样就可以避免删除必要的文件。

  5. 当然这样的手法并不意味着是万无一失的,所以在删除文件的时候建议采用del,这样如果删除了文件以后发现软件无法运行,可以ctrl+z直接从垃圾站找回文件,节省时间。

  6. 对于那些可以明确并非本软件所需要的库的文件夹,可以直接进行删除。

【Python】Python打包exe后文件庞大,删减体积大小措施相关推荐

  1. pyinstaller 打包python应用为exe后 打包出现failed to execute script

    pyinstaller 打包python应用为exe后 打包出现failed to execute script 打包后出现如题问题,只需在打包语句中加入pkg_resources.py2_warn这 ...

  2. python pyinstaller 打包exe文件,(附带图片 + 自己、别人电脑上均可以运行)

    python pyinstaller 打包exe文件,(附带图片 + 自己.别人电脑上均可以运行) 科目:windows + python pyinstaller 打包exe 内容:打包程序.图片.视 ...

  3. (1)python pyinstaller打包exe添加版本信息(2)python获取exe版本信息(3)pyqt5开发exe添加检查版本更新功能

    笔者总结不容易点个关注吧    一键三联哦!       感谢您! python pyinstaller打包exe添加版本信息 打包并添加版本信息 注意!这里有个坑 如果第二次要修改版权信息 要将fi ...

  4. python封装成exe后运行失败_解决Python使用pyinstaller打包生成exe运行提示错误 | kTWO-个人博客...

    最近用python写了个小的桌面程序,在本机上调试的时候,一点问题都没有,在生成exe后也可以正常打开,但是我发给舍友用的时候却突然出现的错误,运行后提示Failed to execute scrip ...

  5. Python如何打包exe文件?如何换成喜欢的图标?

    前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 今天又想来分享一个Python打包exe文件的教程!!这次是最强终极版~~~~ 在我们代码写好后,分享给不会编程的朋友时,总会遇到许许多多的的问题 这个时 ...

  6. Python如何打包exe文件? 如何换成喜欢的图标?

    要将Python脚本打包为可执行的exe文件,可以使用第三方库pyinstaller.以下是将Python脚本打包为可执行exe文件的步骤: 1.安装pyinstaller:在命令行中使用以下命令安装 ...

  7. python打包exe后https找不到cacert.pem证书解决方法

    背景: 程序中引用了requests库,用requests库发送了https请求,一切正常 但用Py2exe打包成exe后,报错: IOError: Could not find a suitable ...

  8. python封装成exe后运行失败_python 在编译成EXE 文件后报错 我实在是找不出原因

    代码在本地的pycharm上是可以正常运行的,但通过 pyinstaller -F -w 转换成EXE后就报错了 然后我用 CMD 运行 提示说 然后我也按照网上说的 在第一行 添加字符转换 可还是不 ...

  9. Python如何打包EXE可执行文件

    一.安装Pyinstaller 使用Python打包EXE可执行文件时,需要使用Pyinstaller,使用命令pip install PyInstaller进行安装,如下图: 安装成功后的效果如下图 ...

最新文章

  1. python sys.argv是什么?
  2. SpringMVC_实现简单的增删改查
  3. python能处理图片吗_python图片处理(一)
  4. java mysql开发_Java数据库开发
  5. 【C++】 C++标准模板库(十) 双向队列
  6. 使用Spring Boot和GraphQL构建安全的API
  7. xml 数字签名 破解_JAVA中带有数字签名的XML安全性
  8. Moody Photoshop Panel for mac(ps专业色彩调色扩展面板)
  9. Docker安装(安装docker)
  10. IE浏览器“SEC7113: CSS 因 Mime 类型不匹配而被忽略”问题的解决方法
  11. ArcGIS Desktop软件安装和试用说明
  12. Zebra命令模式分析
  13. 适配器自动分配的169开头的地址_代理ip地址怎么换
  14. 如何利用计算机换算16进制,16进制怎么转换10进制?计算机进制转换方法汇总
  15. 钢琴乐谱怎么看?学习五线谱及其口诀
  16. Python 爬取QQ音乐个人单曲排行榜
  17. 目标检测特殊层:Proposal层
  18. 翻译:如何成功How to be successful OpenAI CEO山姆奥特曼
  19. Disruptor RingBuffer 原理
  20. 月二 周5 (前半写于周2)

热门文章

  1. JavaScript技术
  2. 编程语言win10电源管理在哪里
  3. 哺乳期哪些事不能做?
  4. 迟迟没写的周记(上一周)
  5. 【机器学习】基于LightGBM的英雄联盟钻石排位数据集的训练、预测与简单可视化
  6. MATLAB实现正方体内嵌套1/4圆画图程序
  7. CUDA硬件加速的理解
  8. python从键盘上输入五个数字打一成语_中国大学慕课2020用Python玩转数据章节测试答案...
  9. 什么是害怕恋爱综合症
  10. 透明度色值转换成十六进制色值