IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> [pyinstaller]如何减小pyinstaller打包体积 -> 正文阅读

[Python知识库][pyinstaller]如何减小pyinstaller打包体积

[pyinstaller]如何减小pyinstaller打包体积

平时在使用pyinstaller打包python程序动辄几十M甚至几百M

这边列出常用一些库单独打包的惊人大小

Packages包含大小
10.4M
Pyqt541.9M
numpy324M
Pandas498M
numpy+Pandas(两者有重叠部分)547M
Mdfreader(自带Pandas和UI界面,会带入QT)548M

不管怎样,我们能让自己写的程序打出来的包越小越好,尽量去减小它的大小。

1. 建立虚拟环境打包是否可以缩小体积呢

此时当前我打出来的包是63.1M

  • 首先安装pipenv
pip install pipenv
  • 安装完成后即可创建虚拟环境并进入打包
#建立虚拟环境
pipenv install
#进入虚拟环境
pipenv shell
#安装模块
pip install 小工具.py里面用到的模块
#打包的模块也要安装
pip install pyinstaller
#开始打包
pyinstaller -Fw main.py

安装完所有的必备的模块,并且打出来的包能正常使用,打包完成是55.9M,相比较之前减少了7.2M

2. 使用upx压缩

上面第一节讲的是在虚拟环境下打包,最后的大小为55.9M,我们以此为基础使用upx压缩看看能减小多少

pyinstaller main.spec

main.spec内容如下

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(['main.py'],
             pathex=['F:\x\project\Music_Batch_Download_package'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             hooksconfig={},
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)

exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,  
          [],
          name='Downloader',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          upx_exclude=[],
          runtime_tmpdir=None,
          console=False,
          disable_windowed_traceback=False,
          target_arch=None,
          codesign_identity=None,
          entitlements_file=None , icon='material\\logo.ico')

最后打包大小为46.2M,相比较于虚拟环境下打包减少了9.7M,效果还是比较明显的。

总结:

通过使用虚拟环境和UPX压缩的方法可以将我的程序从63.1M压缩到了46.2M,压缩比为26%

Reference

pyinstaller打包的exe太大?你需要嵌入式python玄学 前提篇 - 知乎 (zhihu.com)
PyInstaller打包详解 | Yu’s Home (gitee.io)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 18:32:27  更:2022-04-22 18:34:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:27:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码