• [Python进阶] Pyinstaller减少打包后程序大小


    5.6 Pyinstaller减少打包后程序大小

    由于打包后的程序经常要发送给他人使用,所以对于打包后的程序大小还是比较重要的。有时候,明明代码不多,但是打包后的程序非常大,这个就比较郁闷了。
    那么有什么办法可以减少打包后的程序大小呢,笔者总结了以下几种方法:

    5.6.1 单文件模式

    如果打包成单文件运行无问题,那么将程序打包成单独的单文件模式也不失为一种方案。使用单文件模式打包通常只会占到文件夹模式打包的一半大小。

    5.6.2 养成良好的导入习惯

    写代码的时候要养成良好的导入习惯,用某个函数时就尽量导入某个函数,不要为了贪图方便,用from x import *直接将某个库所有的内容导入进来了。导入类也是同理。导入的东西越多,最后打包出来后的占用空间越大。

    5.6.3 使用–exclude-module命令

    Pyinstaller在打包时,常常会把无关的模块打包进来(原因是我们代码中使用的库可能有导入这些无关模块,而这些无关的模块又有可能导入其他无关模块)。我们可以使用–exclude-module命令来排除指定模块。
    通常容易被不小心导入又比较大的库有:pandas、numpy、selenium、pyside2、pyqt库。我们可以用下面的命令排除pandas和numpy:
    Pyinstaller --exclude-module=pandas --exclude-module=numpy 打包.py
    如果要排除其它第三方库也是同理。
    提示:如果可以的话,在打包时创建一个比较干净的Python环境,这样在打包时,那些用不上的库就不会被打包进来了。

    5.6.4 使用UPX工具

    UPX(Ultimate Packer for eXecutables)是一款用于可执行文件(例如.exe、.dll、.so等)的压缩工具。它的主要功能是减小文件的大小,以便于文件传输或节省存储空间。UPX也可以用于加密和保护程序代码,防止被逆向工程或篡改。
    在程序打包过程中,UPX可以作为一个独立的压缩工具,用于压缩生成的可执行文件。通过压缩可执行文件,UPX可以将其大小减小,从而提高文件传输的效率和便利性。此外,UPX还可以加密可执行文件,以保护程序代码不被轻易读取或篡改。这有助于提高程序的安全性和保密性。
    总之,UPX是一种可执行文件压缩和保护工具,常用于程序打包过程中,以提高文件传输效率和保护程序代码。

  • 相关阅读:
    解决微信小程序不支持TextEncoder/TextDecoder对象
    企业工程项目管理系统源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)
    各类热门API接口汇总,可领取免费次数
    java 基础巩固17
    [附源码]java毕业设计校园摄影爱好者交流网站
    如何删除重复文件?简单操作法方法盘点!
    学习笔记5--自动驾驶汽车计算平台
    异步FIFO设计的仿真与综合技术(2)
    WZOI-264合唱队形
    FastRCNN
  • 原文地址:https://blog.csdn.net/crleep/article/details/133602622