当前位置: 首页 > news >正文

不同Python版本和wxPython版本用pyinstaller打包文件大小对比

1、确定wxPython和Python版本的对应关系

在这里可以找到Python支持的所有wxPython版本:https://pypi.tuna.tsinghua.edu.cn/simple/wxpython/

由于Python从3.6版本开始支持f字符串、从3.9版本开始不支持Windows7操作系统,所以我仅筛选3.6-3.8之间的版本。

应用正则表达式:

.*cp3[6-8].*win32.whl

得到以下版本:

wxPython-4.0.0-cp36-cp36m-win32.whl
wxPython-4.0.0a1-cp36-cp36m-win32.whl
wxPython-4.0.0a2-cp36-cp36m-win32.whl
wxPython-4.0.0a3-cp36-cp36m-win32.whl
wxPython-4.0.0b1-cp36-cp36m-win32.whl
wxPython-4.0.0b2-cp36-cp36m-win32.whl
wxPython-4.0.1-cp36-cp36m-win32.whl
wxPython-4.0.2-cp36-cp36m-win32.whl
wxPython-4.0.2-cp37-cp37m-win32.whl
wxPython-4.0.3-cp36-cp36m-win32.whl
wxPython-4.0.3-cp37-cp37m-win32.whl
wxPython-4.0.4-cp36-cp36m-win32.whl
wxPython-4.0.4-cp37-cp37m-win32.whl
wxPython-4.0.5-cp36-cp36m-win32.whl
wxPython-4.0.5-cp37-cp37m-win32.whl
wxPython-4.0.6-cp36-cp36m-win32.whl
wxPython-4.0.6-cp37-cp37m-win32.whl
wxPython-4.0.7-cp36-cp36m-win32.whl
wxPython-4.0.7-cp37-cp37m-win32.whl
wxPython-4.0.7-cp38-cp38-win32.whl
wxPython-4.0.7.post1-cp36-cp36m-win32.whl
wxPython-4.0.7.post1-cp37-cp37m-win32.whl
wxPython-4.0.7.post1-cp38-cp38-win32.whl
wxPython-4.0.7.post2-cp36-cp36m-win32.whl
wxPython-4.0.7.post2-cp37-cp37m-win32.whl
wxPython-4.0.7.post2-cp38-cp38-win32.whl
wxPython-4.1.0-cp36-cp36m-win32.whl
wxPython-4.1.0-cp37-cp37m-win32.whl
wxPython-4.1.0-cp38-cp38-win32.whl
wxPython-4.1.1-cp36-cp36m-win32.whl
wxPython-4.1.1-cp37-cp37m-win32.whl
wxPython-4.1.1-cp38-cp38-win32.whl
wxPython-4.2.1-cp38-cp38-win32.whl

取一些大版本号,和新增Python支持的版本,还剩这些:

wxPython-4.0.0-cp36-cp36m-win32.whl
wxPython-4.0.2-cp36-cp36m-win32.whl
wxPython-4.0.2-cp37-cp37m-win32.whl
wxPython-4.0.7-cp36-cp36m-win32.whl
wxPython-4.0.7-cp37-cp37m-win32.whl
wxPython-4.0.7-cp38-cp38-win32.whl
wxPython-4.1.0-cp36-cp36m-win32.whl
wxPython-4.1.0-cp37-cp37m-win32.whl
wxPython-4.1.0-cp38-cp38-win32.whl
wxPython-4.1.1-cp36-cp36m-win32.whl
wxPython-4.1.1-cp37-cp37m-win32.whl
wxPython-4.1.1-cp38-cp38-win32.whl
wxPython-4.2.1-cp38-cp38-win32.whl

2、用不同的Python版本wxPython版本打包成exe文件

安装好Python和pyinstaller,这个就不说了。

由于打包32位版的Python程序普遍比64位版体积小很多,所以我就只下载32位版本的Python了。

首先写一个wxPython程序,嗯。。非常简单:

# demo.pyimport wxapp = wx.App()
frame = wx.Frame(None, -1, 'My Frame')
frame.Center()
frame.Show()
app.MainLoop()

然后运行批处理文件开始打包:

@echo offpy -3.6-32 -m pip install wxpython==4.0.0
py -3.6-32 -m PyInstaller -ywsF --noupx demo.py --name demo-py36-wx400.exepy -3.6-32 -m pip install wxpython==4.0.2
py -3.6-32 -m PyInstaller -ywsF --noupx demo.py --name demo-py36-wx402.exepy -3.7-32 -m pip install wxpython==4.0.2
py -3.7-32 -m PyInstaller -ywsF --noupx demo.py --name demo-py37-wx402.exepy -3.6-32 -m pip install wxpython==4.0.7
py -3.6-32 -m PyInstaller -ywsF --noupx demo.py --name demo-py36-wx407.exepy -3.7-32 -m pip install wxpython==4.0.7
py -3.7-32 -m PyInstaller -ywsF --noupx demo.py --name demo-py37-wx407.exepy -3.8-32 -m pip install wxpython==4.0.7
py -3.8-32 -m PyInstaller -ywsF --noupx demo.py --name demo-py38-wx407.exepy -3.6-32 -m pip install wxpython==4.1.0
py -3.6-32 -m PyInstaller -ywsF --noupx demo.py --name demo-py36-wx410.exepy -3.7-32 -m pip install wxpython==4.1.0
py -3.7-32 -m PyInstaller -ywsF --noupx demo.py --name demo-py37-wx410.exepy -3.8-32 -m pip install wxpython==4.1.0
py -3.8-32 -m PyInstaller -ywsF --noupx demo.py --name demo-py38-wx410.exepy -3.6-32 -m pip install wxpython==4.1.1
py -3.6-32 -m PyInstaller -ywsF --noupx demo.py --name demo-py36-wx411.exepy -3.7-32 -m pip install wxpython==4.1.1
py -3.7-32 -m PyInstaller -ywsF --noupx demo.py --name demo-py37-wx411.exepy -3.8-32 -m pip install wxpython==4.1.1
py -3.8-32 -m PyInstaller -ywsF --noupx demo.py --name demo-py38-wx411.exepy -3.8-32 -m pip install wxpython==4.2.1
py -3.8-32 -m PyInstaller -ywsF --noupx demo.py --name demo-py38-wx421.exe

3、不同Python/wxPython版本的打包文件大小对比

运行结果:

打包文件大小对比

汇总表格:

wx\py3.63.73.8
4.0.08.69 MB--
4.0.28.70 MB8.13 MB-
4.0.78.73 MB8.16 MB8.17 MB
4.1.010.03 MB9.46 MB9.48 MB
4.1.110.10 MB9.54 MB9.55 MB
4.2.1--9.85 MB

最终结论:

  1. 总体来说,wxPython的版本越高,打包文件体积越大。
  2. 现在wxPython总共有3个minor版本,在不同的minor版本之间,文件大小差异较大,不同的patch版本之间文件体积差异较小。
  3. 在不同的Python版本之间,Python 3.7 版本打包的文件体积最小,其次是 Python 3.8,最后是 Python 3.6。
  4. 最早支持 Python 3.7 的版本是 wxPython-4.0.2,所以用 Python 3.7+wxPython-4.0.2 会得到的文件体积最小。

相关文章:

不同Python版本和wxPython版本用pyinstaller打包文件大小对比

1、确定wxPython和Python版本的对应关系 在这里可以找到Python支持的所有wxPython版本:https://pypi.tuna.tsinghua.edu.cn/simple/wxpython/ 由于Python从3.6版本开始支持f字符串、从3.9版本开始不支持Windows7操作系统,所以我仅筛选3.6-3.8之间的版本…...

【C语言】结构体详解(一)

目录 1、什么是结构体? 2、结构体成分 3、结构体变量的定义与初始化 3.1、结构体变量的三种定义方式 3.2、结构体变量的初始化 4、结构体成员的访问(两种方式) 4.1、直接访问 4.2、间接访问 5、结构的特殊声明 5.1、不完全声明(匿…...

AI时代-普通人的AI绘画工具对比(Midjouney与Stable Diffusion)

AI时代-普通人的AI绘画工具对比(Midjouney与Stable Diffusion) 前言1、基础对比Stable Diffusion(SD)SD界面安装与使用SD Midjouney(MJ) 2、硬件与运行要求对比Stable Diffusion硬件要求内存硬盘显卡 Midjo…...

【蓝桥杯】矩阵快速幂

一.快速幂概述 1.引例 1)题目描述: 求A^B的最后三位数表示的整数,A^B表示:A的B次方。 2)思路: 一般的思路是:求出A的B次幂,再取结果的最后三位数。但是由于计算机能够表示的数字…...

C语言使用STM32开发板手搓高端家居洗衣机

目录 概要 成品效果 背景概述 1.开发环境 2.主要传感器。 技术细节 1. 用户如何知道选择了何种功能 2.启动后如何进行洗衣 3.如何将洗衣机状态上传至服务器并通过APP查看 4.洗衣过程、可燃气检测、OLED屏显示、服务器通信如何并发进行 小结 概要 本文章主要是讲解如…...

【Hello,PyQt】QTextEdit和QSplider

PyQt5 是一个强大的Python库,用于创建图形用户界面(GUI)。其中,QTextEdit 控件作为一个灵活多用的组件,常用于显示和编辑多行文本内容,支持丰富的格式设置和文本操作功能。另外,QSlider 控件是一…...

【力扣】191.位 1 的个数、485.最大连续 1 的个数

191.位 1 的个数 题目描述 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中 设置位 的个数(也被称为汉明重量)。 示例 1: 输入:n 11 输出&#xff1…...

蓝桥杯 java 承压计算

题目: 思路: 1:其中的数字代表金属块的重量(计量单位较大) 说明每个数字后面不一定有多少个0 2:假设每块原料的重量都十分精确地平均落在下方的两个金属块上,最后,所有的金属块的重量都严格精确地平分落在最底层的电子…...

leetcode268-Missing Number

这道题目要求缺失的数字,一般解决数组的问题,要么往排序数组,要么往双指针遍历这些方向上靠,要么往异或方向上靠,总之落点无非就只有这几个。我们要求缺失的数字,可以依次让1~n和数组元素进行异…...

【jenkins+cmake+svn管理c++项目】jenkins回传文件到svn(windows)

书接上文:创建一个项目 在经过cmakemsbuild顺利生成动态库之后,考虑到我一个项目可能会生成多个动态库,它们分散在build内的不同文件夹,我希望能将它们收拢到一个文件夹下,并将其回传到svn。 一、动态库移位—cmake实…...

数据结构·二叉树(2)

目录 1 堆的概念 2 堆的实现 2.1 堆的初始化和销毁 2.2 获取堆顶数据和堆的判空 2.3 堆的向上调整算法 2.4 堆的向下调整算法 2.4 堆的插入 2.5 删除堆顶数据 2.6 建堆 3 建堆的时间复杂度 3.1 向上建堆的时间复杂度 3.2向下建堆的时间复杂度 4 堆的排序 前言&…...

MATLAB算法实战应用案例精讲-【毕业季论文专用】人工智能视觉检测技术及其在实际应用中的挑战与前景

目录 摘要: 第一章:引言 1.1 研究背景 1.2 研究目的与意义...

Linux虚拟机环境搭建spark

Linux环境搭建Spark分为两个版本,分别是Scala版本和Python版本。 一、 安装Pyspark 本环境以 Python 环境为例。 1、下载spark 下载网址:https://archive.apache.org/dist/spark 下载安装包:根据自己环境选择合适版本,本环境…...

STL的string容器

string基本概念 string是C风格的字符串,本质上是一个类。 string 和 char* 的区别 char* 是一个指针; string是一个类,内部封装了 char* ,用来管理字符串,是一个 char* 型的容器。 特点 string内部封装了很多成员…...

半导体工艺技术

完整内容点击:【半导体工艺技术】...

acwing算法提高之图论--单源最短路的扩展应用

目录 1 介绍2 训练 1 介绍 本专题用来记录使用。。。。 2 训练 题目1&#xff1a;1137选择最佳线路 C代码如下&#xff0c; #include <iostream> #include <cstring> #include <algorithm> #include <queue>using namespace std;const int N 101…...

SQLServer数据库使用Function实现根据字段内容的拼音首字母进行数据查询

实现SQL首字母查询分两步&#xff0c;第一步建Function&#xff0c;第二步引用新建的Function。 1. 首先需要自定义一个查询的Function&#xff0c;详细SQL如下&#xff1a; ALTER function [dbo].[GetDataByPY](str nvarchar(4000)) returns nvarchar(4000) as begin decla…...

Linux——信号概念与信号产生方式

目录 一、概念 二、前台进程与后台进程 1.ctrlc 2.ctrlz 三、信号的产生方式 1.键盘输入产生信号 2.系统调用发送信号 2.1 kill()函数 2.2 raise()函数 2.3 abort()函数 3.异常导致信号产生 3.1 除0异常 3.2 段错误异常 4.软件条件产生信号 4.1 管道 4.2 闹钟…...

赋值语句还能当判断条件?涨芝士了!

赋值和条件看似是C语言中毫不相关的两个概念&#xff0c;虽然实际过程中我猜测不会有太多这种不太符合常理的情况出现&#xff0c;但是现在在学习的过程中&#xff0c;为了出题而出题总是会整出一些花活出来.....这很难不让人联想起高中时一些大佬为了彰显自己的数学天赋而自己…...

数据结构 - 算法效率|时间复杂度|空间复杂度

目录 1.算法效率 2.时间复杂度 2.1定义 2.2大O渐近表示法 2.3常见时间复杂度计算举例 3.空间复杂度 3.1定义 3.2常见空间复杂度计算举例 1.算法效率 算法的效率常用算法复杂度来衡量&#xff0c;算法复杂度描述了算法在输入数据规模变化时&#xff0c;其运行时间和空间…...

Python 3.15 JIT为何在Docker中静默禁用?揭开musl libc与libffi-3.4.6 ABI不兼容的致命链

第一章&#xff1a;Python 3.15 JIT 的设计目标与 Docker 场景适配性Python 3.15 引入的实验性 JIT&#xff08;Just-In-Time&#xff09;编译器并非追求通用性能提升&#xff0c;而是聚焦于特定高价值场景——尤其是容器化微服务中反复执行的 CPU 密集型工作负载。其核心设计目…...

中文句子相似度分析神器:StructBERT本地部署全流程详解(附代码)

中文句子相似度分析神器&#xff1a;StructBERT本地部署全流程详解&#xff08;附代码&#xff09; 1. 工具概览与核心价值 中文语义相似度分析是自然语言处理中的一项基础但关键的任务。无论是智能客服中的问题匹配&#xff0c;还是内容平台的文章查重&#xff0c;都需要准确…...

无代码爬虫方案:OpenClaw调度Qwen3.5-9B解析动态网页数据

无代码爬虫方案&#xff1a;OpenClaw调度Qwen3.5-9B解析动态网页数据 1. 为什么需要无代码爬虫&#xff1f; 作为一个经常需要从网页抓取数据的技术博主&#xff0c;我经历过太多抓取数据的痛苦时刻。传统爬虫开发需要处理反爬机制、解析动态加载内容、维护复杂的XPath或CSS选…...

OpenClaw自动化测试:百川2-13B-4bits量化模型在重复任务中的稳定性

OpenClaw自动化测试&#xff1a;百川2-13B-4bits量化模型在重复任务中的稳定性 1. 测试背景与目标 最近在尝试用OpenClaw搭建一个本地自动化工作流时&#xff0c;发现一个关键问题&#xff1a;当AI需要反复执行相同任务时&#xff0c;模型响应的稳定性会直接影响自动化效果。…...

做客户管理之前,先看看这 6 个教训

方案 A&#xff1a;传统开发方式分析 传统开发需要组建专业团队&#xff0c;包括产品经理、UI 设计师、前后端开发、测试工程师等。中等规模项目团队 5-8 人&#xff0c;开发周期 3-6 个月&#xff0c;人力成本 30-100 万。开发过程中需求沟通成本高&#xff0c;业务人员用自然…...

如何在Windows上零配置运行Android应用?APK Installer的革命性方案

如何在Windows上零配置运行Android应用&#xff1f;APK Installer的革命性方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经遇到过这样的场景&#xff1a…...

Python农业物联网部署突然中断?揭秘土壤传感器数据丢包率超37%的底层时钟漂移根源(附校准代码)

第一章&#xff1a;Python农业物联网部署在现代农业数字化转型中&#xff0c;Python凭借其丰富的物联网生态库&#xff08;如paho-mqtt、Adafruit-IO、RPi.GPIO&#xff09;和轻量级运行特性&#xff0c;成为边缘设备与云平台协同的核心语言。本章聚焦于基于树莓派的土壤温湿度…...

PCB首次上电安全操作与防炸板指南

PCB首次上电安全操作指南&#xff1a;从炸板事故中汲取的工程经验1. 硬件工程师的必修课&#xff1a;上电安全1.1 典型上电事故案例分析在嵌入式硬件开发领域&#xff0c;PCB首次上电环节隐藏着诸多技术风险。根据行业调查&#xff0c;约78%的硬件工程师在其职业生涯中至少经历…...

MATLAB中扩展卡尔曼滤波与无迹卡尔曼滤波源代码:一键运行,误差对比及显示最大误差数字图像程...

MATLAB编写的EKF和UKF滤波程序源代码 扩展卡尔曼滤波、无迹卡尔曼滤波的MATLAB程序&#xff0c;有误差对比图像和最大误差数字的显示。 只有一个m文件&#xff0c;打开就能运行。 带中文注释。直接双击EKFUKFComparison.m就能看到两个滤波器在非线性系统里的较量。这个文件里塞…...

开源项目主题系统的3大核心机制深度解析:从CSS变量到动态切换的完整实现方案

开源项目主题系统的3大核心机制深度解析&#xff1a;从CSS变量到动态切换的完整实现方案 【免费下载链接】vue-vben-admin vbenjs/vue-vben-admin: 是一个基于 Vue.js 和 Element UI 的后台管理系统&#xff0c;支持多种数据源和插件扩展。该项目提供了一个完整的后台管理系统&…...